pytorch神经网络之卷积层与全连接层参数的设置方法


Posted in Python onAugust 18, 2019

当使用pytorch写网络结构的时候,本人发现在卷积层与第一个全连接层的全连接层的input_features不知道该写多少?一开始本人的做法是对着pytorch官网的公式推,但是总是算错。

后来发现,写完卷积层后可以根据模拟神经网络的前向传播得出这个。

全连接层的input_features是多少。首先来看一下这个简单的网络。这个卷积的Sequential本人就不再??铝耍?衷诳?n.Linear(???, 4096)这个全连接层的第一个参数该为多少呢?

请看下文详解。

class AlexNet(nn.Module):
  def __init__(self):
    super(AlexNet, self).__init__()

    self.conv = nn.Sequential(
      nn.Conv2d(3, 96, kernel_size=11, stride=4),
      nn.ReLU(inplace=True),
      nn.MaxPool2d(kernel_size=3, stride=2),

      nn.Conv2d(96, 256, kernel_size=5, padding=2),
      nn.ReLU(inplace=True),
      nn.MaxPool2d(kernel_size=3, stride=2),

      nn.Conv2d(256, 384, kernel_size=3, padding=1),
      nn.ReLU(inplace=True),
      nn.Conv2d(384, 384, kernel_size=3, padding=1),
      nn.ReLU(inplace=True),
      nn.Conv2d(384, 256, kernel_size=3, padding=1),
      nn.ReLU(inplace=True),
      nn.MaxPool2d(kernel_size=3, stride=2)
    )

    self.fc = nn.Sequential(
      nn.Linear(???, 4096)
      ......
      ......
    )

首先,我们先把forward写一下:

def forward(self, x):
    x = self.conv(x)
    print x.size()

就写到这里就可以了。其次,我们初始化一下网络,随机一个输入:

import torch
from Alexnet.AlexNet import *
from torch.autograd import Variable

if __name__ == '__main__':
  net = AlexNet()

  data_input = Variable(torch.randn([1, 3, 96, 96])) # 这里假设输入图片是96x96
  print data_input.size()
  net(data_input)

结果如下:

(1L, 3L, 96L, 96L)
(1L, 256L, 1L, 1L)

显而易见,咱们这个全连接层的input_features为256。

以上这篇pytorch神经网络之卷积层与全连接层参数的设置方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 算法 排序实现快速排序
Jun 05 Python
Python文件去除注释的方法
May 25 Python
全面解析Python的While循环语句的使用方法
Oct 13 Python
Python微信库:itchat的用法详解
Aug 14 Python
Python实现的简单模板引擎功能示例
Sep 02 Python
PYTHON基础-时间日期处理小结
May 05 Python
用pycharm开发django项目示例代码
Oct 24 Python
python反编译学习之字节码详解
May 19 Python
解决Python3 控制台输出InsecureRequestWarning问题
Jul 15 Python
Django获取该数据的上一条和下一条方法
Aug 12 Python
python集合的创建、添加及删除操作示例
Oct 08 Python
Python通过m3u8文件下载合并ts视频的操作
Apr 16 Python
pytorch numpy list类型之间的相互转换实例
Aug 18 #Python
对Pytorch中nn.ModuleList 和 nn.Sequential详解
Aug 18 #Python
pytorch 自定义数据集加载方法
Aug 18 #Python
PyTorch的Optimizer训练工具的实现
Aug 18 #Python
Pytorch反向求导更新网络参数的方法
Aug 17 #Python
pytorch 模型可视化的例子
Aug 17 #Python
pytorch 输出中间层特征的实例
Aug 17 #Python
You might like
台湾中原大学php教程孙仲岳主讲
2008/01/07 PHP
php echo 输出字符串函数详解
2010/05/13 PHP
PHP处理会话函数大总结
2015/08/05 PHP
PHP编写RESTful接口
2016/02/23 PHP
启用OPCache提高PHP程序性能的方法
2019/03/21 PHP
Laravel5.0+框架邮件发送功能实现方法图文与实例详解
2019/04/23 PHP
jquery选择器-根据多个属性选择示例代码
2013/10/21 Javascript
js获取客户端外网ip的简单实例
2013/11/21 Javascript
JavaScript中的getTime()方法使用详解
2015/06/10 Javascript
ECMAScript6函数默认参数
2015/06/12 Javascript
swtich/if...else的替代语句
2015/08/16 Javascript
微信小程序 页面之间传参实例详解
2017/01/13 Javascript
jQuery实现简单的滑动导航代码(移动端)
2017/05/22 jQuery
基于jQuery实现定位导航位置效果
2017/11/15 jQuery
vue.js的computed,filter,get,set的用法及区别详解
2018/03/08 Javascript
JavaScript函数IIFE使用详解
2019/10/21 Javascript
100行代码实现vue表单校验功能(小白自编)
2019/11/19 Javascript
vue搜索页开发实例代码详解(热门搜索,历史搜索,淘宝接口演示)
2020/04/11 Javascript
Vue filter 过滤器、以及在table中的使用介绍
2020/09/07 Javascript
vue2.0 watch里面的 deep和immediate用法说明
2020/10/30 Javascript
vuex的数据渲染与修改浅析
2020/11/26 Vue.js
pycharm 使用心得(八)如何调用另一文件中的函数
2014/06/06 Python
Python实现统计英文单词个数及字符串分割代码
2015/05/28 Python
小白如何入门Python? 制作一个网站为例
2018/03/06 Python
Python socket实现简单聊天室
2018/04/01 Python
浅谈Django2.0 加xadmin踩的坑
2019/11/15 Python
怎么快速自学python
2020/06/22 Python
解决Python安装cryptography报错问题
2020/09/03 Python
微软日本官方网站:Microsoft日本
2017/11/26 全球购物
如何清空Session
2015/02/23 面试题
接待员岗位责任制
2014/02/10 职场文书
保险内勤岗位职责
2014/04/05 职场文书
副科竞争上岗演讲稿
2014/05/12 职场文书
一份关于丢失公司财物的检讨书
2014/09/19 职场文书
公司离职证明范本
2014/10/17 职场文书
大二学年个人总结
2015/03/03 职场文书