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实现根据IP地址和子网掩码算出网段的方法
Jul 30 Python
基于python内置函数与匿名函数详解
Jan 09 Python
Django Channels 实现点对点实时聊天和消息推送功能
Jul 17 Python
Django对models里的objects的使用详解
Aug 17 Python
使用OpenCV实现仿射变换—旋转功能
Aug 29 Python
使用Matplotlib 绘制精美的数学图形例子
Dec 13 Python
python Popen 获取输出,等待运行完成示例
Dec 30 Python
利用matplotlib为图片上添加触发事件进行交互
Apr 23 Python
python tkiner实现 一个小小的图片翻页功能的示例代码
Jun 24 Python
Python在字符串中处理html和xml的方法
Jul 31 Python
利用Python实现朋友圈中的九宫格图片效果
Sep 03 Python
Python文件名匹配与文件复制的实现
Dec 11 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
2.PHP入门
2006/10/09 PHP
PHP计算2点经纬度之间的距离代码
2013/08/12 PHP
详解php命令注入攻击
2019/04/06 PHP
Javascript 异步加载详解(浏览器在javascript的加载方式)
2012/05/20 Javascript
javascript学习笔记(二) js一些基本概念
2012/06/18 Javascript
JavaScript中的数据类型转换方法小结
2015/10/26 Javascript
Javascript字符串拼接小技巧(推荐)
2016/06/02 Javascript
BootStrap使用popover插件实现鼠标经过显示并保持显示框
2016/06/23 Javascript
js从数组中删除指定值(不是指定位置)的元素实现代码
2016/09/13 Javascript
原生JS实现图片轮播效果
2016/12/26 Javascript
利用jQuery实现滑动开关按钮效果(附demo源码下载)
2017/02/07 Javascript
jQuery插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】
2017/05/13 jQuery
使用javaScript实现鼠标拖拽事件
2020/04/03 Javascript
React根据宽度自适应高度的示例代码
2017/10/11 Javascript
CheckBox多选取值及判断CheckBox选中是否为空的实例
2017/10/31 Javascript
微信小程序实现点击按钮修改文字大小功能【附demo源码下载】
2017/12/06 Javascript
Vue中axios的封装(报错、鉴权、跳转、拦截、提示)
2019/08/20 Javascript
微信小程序实现自定义动画弹框/提示框的方法实例
2020/11/06 Javascript
在vs code 中如何创建一个自己的 Vue 模板代码
2020/11/10 Javascript
python获取当前用户的主目录路径方法(推荐)
2017/01/12 Python
python实现批量修改文件名代码
2017/09/10 Python
mac系统安装Python3初体验
2018/01/02 Python
python: 判断tuple、list、dict是否为空的方法
2018/10/22 Python
python实现可逆简单的加密算法
2019/03/22 Python
python实现日志按天分割
2019/07/22 Python
Python实现手势识别
2020/10/21 Python
Python3利用openpyxl读写Excel文件的方法实例
2021/02/03 Python
基于Modernizr 让网站进行优雅降级的分析
2013/04/21 HTML / CSS
Book Depository亚太地区:一家领先的国际图书零售商
2019/05/05 全球购物
大学毕业生最详细的自我评价分享
2013/11/18 职场文书
中学教师岗位职责
2013/11/26 职场文书
我的求职计划书
2014/01/10 职场文书
最新奶茶店创业计划书范文
2014/02/08 职场文书
成本低的5个创业项目:投资小、赚钱快
2019/08/20 职场文书
《时代广场的蟋蟀》读后感:真挚友情,温暖世界!
2020/01/08 职场文书
VUE使用draggable实现组件拖拽
2022/04/06 Vue.js