当前位置:   article > 正文

Pytorch之卷积层_(n, c_in, l_in)

(n, c_in, l_in)

目录

1.简介(torch.nn下的)

2.简介(torch.nn.functional下的)


1.简介(torch.nn下的)

卷积层主要使用的有3类,用于处理不同维度的数据

参数 Parameters:

  • in_channels(int) – 输入信号的通道   
  • out_channels(int) – 卷积产生的通道
  • kerner_size(int or tuple) - 卷积核的尺寸
  • stride(int or tupleoptional) - 卷积步长
  • padding (int or tupleoptional)- 输入的每一条边补充0的层数   
  • dilation(int or tuple, `optional``) – 卷积核元素之间的间距
  • groups(intoptional) – 从输入通道到输出通道的阻塞连接数
  • bias(booloptional) - 如果bias=True,添加偏置
  • class torch.nn.Conv1d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)

                             一维卷积层。用于计算ECG等一维数据。

input: (N,C_in,L_in)     N为批次,C_in即为in_channels,即一批内输入一维数据个数,L_in是是一维数据基数
output: (N,C_out,L_out)   N为批次,C_in即为out_channels,即一批内输出一维数据个数,L_out是一维数据基数

 

  • class torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)

                            二维卷积层。用于计算CT断层或MR断层,或二维超声图像,自然图像等二维数据。

  1. self.conv1 = nn.Conv2d( # 1*28*28 -> 32*28*28
  2. in_channels=1,
  3. out_channels=32,
  4. kernel_size=5,
  5. stride=1,
  6. padding=2 #padding是需要计算的,padding=(stride-1)/2
  7. )

input: (N,C_in,H_in,W_in)      N为批次,C_in即为in_channels,即一批内输入二维数据个数,H_in是二维数据行数,W_in是二维数据的列数
output: (N,C_out,H_out,W_out)  N为批次,C_out即为out_channels,即一批内输出二维数据个数,H_out是二维数据行数,W_out是二维数据的列数

  1. con2 = nn.Conv2d(1,16,5,1,2)
  2. # con2(np.empty([1,1,28,28])) 只能接受tensor/variable
  3. con2(torch.Tensor(1,1,28,28))
  4. con2(Variable(torch.Tensor(1,1,28,28)))
  • class torch.nn.Conv3d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)

                            三维卷积层。用于计算CT或MR等容积数据,视频数据等三维数据。

input: (N,C_in,D_in,H_in,W_in) 
output: (N,C_out,D_out,H_out,W_out) 

 

2.简介(torch.nn.functional下的)

在torch.nn.functional下也有卷积层,但是和torch.nn下的卷积层的区别在于,functional下的是函数,不是实际的卷积层,而是有卷积层功能的卷积层函数,所以它并不会出现在网络的图结构中。

  • torch.nn.functional.conv1d(input, weight, bias=None, stride=1, padding=0, dilation=1, groups=1)

参数:

input – 输入张量的形状 (minibatch x in_channels x iW)

weight – 过滤器的形状 (out_channels, in_channels, kW)

bias – 可选偏置的形状 (out_channels)

stride – 卷积核的步长,默认为1

  1. >>> filters = autograd.Variable(torch.randn(33, 16, 3))
  2. >>> inputs = autograd.Variable(torch.randn(20, 16, 50))
  3. >>> F.conv1d(inputs, filters)
  • torch.nn.functional.conv2d(input, weight, bias=None, stride=1, padding=0, dilation=1, groups=1)
  1. >>> # With square kernels and equal stride
  2. >>> filters = autograd.Variable(torch.randn(8,4,3,3))
  3. >>> inputs = autograd.Variable(torch.randn(1,4,5,5))
  4. >>> F.conv2d(inputs, filters, padding=1)
  • torch.nn.functional.conv3d(input, weight, bias=None, stride=1, padding=0, dilation=1, groups=1)
  1. >>> filters = autograd.Variable(torch.randn(33, 16, 3, 3, 3))
  2. >>> inputs = autograd.Variable(torch.randn(20, 16, 50, 10, 20))
  3. >>> F.conv3d(inputs, filters)

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/194201
推荐阅读
相关标签
  

闽ICP备14008679号