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解释执行原理分析
Aug 22 Python
Python多线程编程(二):启动线程的两种方法
Apr 05 Python
Python的Flask开发框架简单上手笔记
Nov 16 Python
Python中使用urllib2模块编写爬虫的简单上手示例
Jan 20 Python
详解python之简单主机批量管理工具
Jan 27 Python
sublime python3 输入换行不结束的方法
Apr 19 Python
解决python3捕获cx_oracle抛出的异常错误问题
Oct 18 Python
详解python中的hashlib模块的使用
Apr 22 Python
python实现超市管理系统(后台管理)
Oct 25 Python
NumPy统计函数的实现方法
Jan 21 Python
Python拼接字符串的7种方式详解
Mar 19 Python
Python selenium爬虫实现定时任务过程解析
Jun 08 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
用ADODB来让PHP操作ACCESS数据库的方法
2006/12/31 PHP
Windows7下PHP开发环境安装配置图文方法
2010/05/20 PHP
PHP实现多条件查询实例代码
2010/07/17 PHP
PHP操作XML作为数据库的类
2010/12/19 PHP
PHP explode()函数用法、切分字符串
2012/10/03 PHP
PHP学习笔记(一) 简单了解PHP
2014/08/04 PHP
js change,propertychange,input事件小议
2011/12/20 Javascript
基于jquery自己写tab滑动门(通用版)
2012/10/30 Javascript
当jQuery1.7遇上focus方法的问题
2014/01/26 Javascript
JQuery中的html()、text()、val()区别示例介绍
2014/09/01 Javascript
js实现同一页面可多次调用的图片幻灯切换效果
2015/02/28 Javascript
简介JavaScript中的getSeconds()方法的使用
2015/06/10 Javascript
JavaScript实现简单获取当前网页网址的方法
2015/11/09 Javascript
快速解决jquery.touchSwipe左右滑动和垂直滚动条冲突
2016/04/15 Javascript
JS获取子窗口中返回的数据实现方法
2016/05/28 Javascript
js css自定义分页效果
2017/02/24 Javascript
jQuery插件开发发送短信倒计时功能代码
2017/05/09 jQuery
vue利用better-scroll实现轮播图与页面滚动详解
2017/10/20 Javascript
集成vue到jquery/bootstrap项目的方法
2018/02/10 jQuery
Vue入门之数量加减运算操作示例
2018/12/11 Javascript
微信小程序获取用户信息及手机号(后端TP5.0)
2019/09/12 Javascript
JS异步宏队列与微队列原理区别详解
2020/07/02 Javascript
vue 保留两位小数 不能直接用toFixed(2) 的解决
2020/08/07 Javascript
[03:22]DOTA2超级联赛专访单车:找到属于自己的英雄
2013/06/08 DOTA
Python网络爬虫实例讲解
2016/04/28 Python
如何使用python操作vmware
2019/07/27 Python
利用 Flask 动态展示 Pyecharts 图表数据方法小结
2019/09/04 Python
使用python实现画AR模型时序图
2019/11/20 Python
python 爬取马蜂窝景点翻页文字评论的实现
2020/01/20 Python
Django扫码抽奖平台的配置过程详解
2021/01/14 Python
幼儿生日活动方案
2014/08/27 职场文书
国际残疾人日广播稿范文
2014/10/09 职场文书
二年级语文下册复习计划
2015/01/19 职场文书
贷款承诺书
2015/01/20 职场文书
寒假安全保证书
2015/02/28 职场文书
Redis keys命令的具体使用
2022/06/05 Redis