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中使用模块的教程
Apr 27 Python
python使用socket向客户端发送数据的方法
Apr 29 Python
python实现的用于搜索文件并进行内容替换的类实例
Jun 28 Python
python通过Windows下远程控制Linux系统
Jun 20 Python
在Mac下使用python实现简单的目录树展示方法
Nov 01 Python
python 定时器,实现每天凌晨3点执行的方法
Feb 20 Python
python Pandas如何对数据集随机抽样
Jul 29 Python
python中sympy库求常微分方程的用法
Apr 28 Python
Lombok插件安装(IDEA)及配置jar包使用详解
Nov 04 Python
使用Python获取爱奇艺电视剧弹幕数据的示例代码
Jan 12 Python
python中编写函数并调用的知识点总结
Jan 13 Python
Python一些基本的图像操作和处理总结
Jun 23 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中如何判断AJAX提交的数据
2012/02/05 PHP
CURL状态码列表(详细)
2013/06/27 PHP
php include类文件超时问题处理
2015/02/06 PHP
用Javascript实现Windows任务管理器的代码
2012/03/27 Javascript
增强用户体验友好性之jquery easyui window 窗口关闭时的提示
2012/06/22 Javascript
jquery插件jTimer(jquery定时器)使用方法
2013/12/23 Javascript
JavaScript制作的可折叠弹出式菜单示例
2014/04/04 Javascript
JavaScript严格模式禁用With语句的原因
2014/10/20 Javascript
js中数组排序sort方法的原理分析
2014/11/20 Javascript
js实现简单的左右两边固定广告效果实例
2015/04/10 Javascript
基于JavaScript实现动态创建表格和增加表格行数
2015/12/20 Javascript
两种方法解决javascript url post 特殊字符转义 + & #
2016/04/13 Javascript
JS实现一次性弹窗的方法【刷新后不弹出】
2016/12/26 Javascript
200行代码实现blockchain 区块链实例详解
2018/03/14 Javascript
使用webpack构建应用的方法步骤
2019/03/04 Javascript
VuePress 中如何增加用户登录功能
2019/11/29 Javascript
python实现的jpg格式图片修复代码
2015/04/21 Python
最基础的Python的socket编程入门教程
2015/04/23 Python
python处理按钮消息的实例详解
2017/07/11 Python
如何使用Python实现斐波那契数列
2019/07/02 Python
python解析多层json操作示例
2019/12/30 Python
Python如何使用paramiko模块连接linux
2020/03/18 Python
python多进程下的生产者和消费者模型
2020/05/07 Python
python 实现PIL模块在图片画线写字
2020/05/16 Python
通俗讲解python 装饰器
2020/09/07 Python
用python写PDF转换器的实现
2020/10/29 Python
Opencv+Python识别PCB板图片的步骤
2021/01/07 Python
英国最大的宝石首饰超市:QP Jewellers
2018/09/23 全球购物
行政助理岗位职责
2013/11/10 职场文书
社会实践感言
2014/01/25 职场文书
测试工程师程序员求职信范文
2014/02/20 职场文书
大三学习计划书范文
2014/05/02 职场文书
法定代表人授权委托书范文
2014/09/22 职场文书
2015年健康教育工作总结
2015/04/10 职场文书
python双向链表实例详解
2022/05/25 Python
win10频率超出范围怎么办?win10老显示超出工作频率范围的解决方法
2022/07/07 数码科技