浅谈pytorch卷积核大小的设置对全连接神经元的影响

yipeiwu_com6年前Python基础

3*3卷积核与2*5卷积核对神经元大小的设置

#这里kerner_size = 2*5
class CONV_NET(torch.nn.Module): #CONV_NET类继承nn.Module类
 def __init__(self):
  super(CONV_NET, self).__init__() #使CONV_NET类包含父类nn.Module的所有属性
  # super()需要两个实参,子类名和对象self
  self.conv1 = nn.Conv2d(1, 32, (2, 5), 1, padding=0)
  self.conv2 = nn.Conv2d(32, 128, 1, 1, padding=0)
  self.fc1 = nn.Linear(512, 128)
  self.relu1 = nn.ReLU(inplace=True)
  self.drop1 = nn.Dropout(0.5)
  self.fc2 = nn.Linear(128, 32)
  self.relu2 = nn.ReLU(inplace=True)
  self.fc3 = nn.Linear(32, 3)
  self.softmax = nn.Softmax(dim=1)

 def forward(self, x):
  x = self.conv1(x)
  x = self.conv2(x)
  x = x.view(x.size(0), -1)
  x = self.fc1(x)
  x = self.relu1(x)
  x = self.drop1(x)
  x = self.fc2(x)
  x = self.relu2(x)
  x = self.fc3(x)
  x = self.softmax(x)
  return x

主要看对称卷积核以及非对称卷积核之间的计算方式

#这里kerner_size = 3*3
class CONV_NET(torch.nn.Module): #CONV_NET类继承nn.Module类
 def __init__(self):
  super(CONV_NET, self).__init__() #使CONV_NET类包含父类nn.Module的所有属性
  # super()需要两个实参,子类名和对象self
  self.conv1 = nn.Conv2d(1, 32, 3, 1, padding=1)
  self.conv2 = nn.Conv2d(32, 128, 1, 1, padding=0)
  self.fc1 = nn.Linear(3200, 128)
  self.relu1 = nn.ReLU(inplace=True)
  self.drop1 = nn.Dropout(0.5)
  self.fc2 = nn.Linear(128, 32)
  self.relu2 = nn.ReLU(inplace=True)
  self.fc3 = nn.Linear(32, 3)
  self.softmax = nn.Softmax(dim=1)

 def forward(self, x):
  x = self.conv1(x)
  x = self.conv2(x)
  x = x.view(x.size(0), -1)
  x = self.fc1(x)
  x = self.relu1(x)
  x = self.drop1(x)
  x = self.fc2(x)
  x = self.relu2(x)
  x = self.fc3(x)
  x = self.softmax(x)
  return x

针对kerner_size=2*5,padding=0,stride=1以及kerner_size=3*3,padding=1,stride=1二者计算方式的比较如图所示

以上这篇浅谈pytorch卷积核大小的设置对全连接神经元的影响就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python求解平方根的方法

本文实例讲述了Python求解平方根的方法。分享给大家供大家参考。具体如下: 主要通过SICP的内容改写而来。基于newton method求解平方根。代码如下: #!/usr/bi...

Pytorch 多块GPU的使用详解

Pytorch 多块GPU的使用详解

注:本文针对单个服务器上多块GPU的使用,不是多服务器多GPU的使用。 在一些实验中,由于Batch_size的限制或者希望提高训练速度等原因,我们需要使用多块GPU。本文针对Pytor...

python根据txt文本批量创建文件夹

python根据txt文本批量创建文件夹

前言 前言:想写这个代码的原因是因为实习的时候需要根据表格名创建对应的文件夹,如果只是很少个数文件夹的话,ctrl+shift+n还可以接受吧,可是一次就要创建几百个文件夹,这就有点方方...

python通过robert、sobel、Laplace算子实现图像边缘提取详解

python通过robert、sobel、Laplace算子实现图像边缘提取详解

实现思路:   1,将传进来的图片矩阵用算子进行卷积求和(卷积和取绝对值)   2,用新的矩阵(与原图一样大小)去接收每次的卷积和的值   3,卷积图片所有的像素点后,把新的矩阵数据类型...

python conda操作方法

conda 虚拟环境安装 List item conda env list #查看已安装虚拟环境 coda创建虚拟环境非常方便:官方教程:https://conda.io/project...