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网络编程学习笔记(三):socket网络服务器
Jun 09 Python
Python实现抓取百度搜索结果页的网站标题信息
Jan 22 Python
wxPython的安装图文教程(Windows)
Dec 28 Python
使用11行Python代码盗取了室友的U盘内容
Oct 23 Python
对python cv2批量灰度图片并保存的实例讲解
Nov 09 Python
Python检查和同步本地时间(北京时间)的实现方法
Dec 03 Python
Python选择网卡发包及接收数据包
Apr 04 Python
利用pytorch实现对CIFAR-10数据集的分类
Jan 14 Python
python Django 反向访问器的外键冲突解决
May 20 Python
Python包资源下载路径报404解决方案
Nov 05 Python
Python答题卡识别并给出分数的实现代码
Jun 22 Python
Python使用OpenCV实现虚拟缩放效果
Feb 28 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
CodeIgniter多语言实现方法详解
2016/01/20 PHP
win10环境PHP 7 安装配置【教程】
2016/05/09 PHP
浅谈PHP进程管理
2019/03/08 PHP
PHPUnit + Laravel单元测试常用技能
2019/11/06 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
PHP生成图表pChart的示例解析
2020/07/31 PHP
ExtJS Store的数据访问与更新问题
2010/04/28 Javascript
灵活应用js调试技巧解决样式问题的步骤分享
2012/03/15 Javascript
jQuery垂直多级导航菜单代码分享
2015/08/18 Javascript
微信小程序 swiper组件详解及实例代码
2016/10/25 Javascript
BootStrap框架个人总结(bootstrap框架、导航条、下拉菜单、轮播广告carousel、栅格系统布局、标签页tabs、模态框、菜单定位)
2016/12/01 Javascript
jquery删除数组中重复元素
2016/12/05 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
详解nodejs 文本操作模块-fs模块(二)
2016/12/22 NodeJs
微信小程序 使用canvas制作K线实例详解
2017/01/12 Javascript
JavaScript框架Angular和React深度对比
2017/11/20 Javascript
JavaScript 正则命名分组【推荐】
2018/06/07 Javascript
vue中子组件的methods中获取到props中的值方法
2018/08/27 Javascript
以Flask为例讲解Python的框架的使用方法
2015/04/29 Python
Python连接Redis的基本配置方法
2018/09/13 Python
计算机二级python学习教程(3) python语言基本数据类型
2019/05/16 Python
对Python中class和instance以及self的用法详解
2019/06/26 Python
python自动化测试之异常及日志操作实例分析
2019/11/09 Python
Python3.7+tkinter实现查询界面功能
2019/12/24 Python
浅谈python中频繁的print到底能浪费多长时间
2020/02/21 Python
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
2016/01/06 面试题
大学生军训感想
2014/02/16 职场文书
生产厂长岗位职责
2014/02/21 职场文书
医学生临床实习自我评价
2014/03/07 职场文书
学校出纳员岗位职责
2014/03/18 职场文书
美术第二课堂活动总结
2014/07/08 职场文书
售房协议书
2014/08/19 职场文书
起诉离婚协议书样本
2014/11/25 职场文书
2015年党员自我剖析材料
2014/12/17 职场文书
2015年普法依法治理工作总结
2015/05/26 职场文书
使用Ajax实现进度条的绘制
2022/04/07 Javascript