pytorch conv2d函数详解,pytorch Conv2d

  pytorch conv2d函数详解,pytorch Conv2d

  要描述一个像素,如果它是灰色的,那么只需要一个数值来描述它,这个数值就是单通道。如果有三种颜色的RGB来描述,那就是三个通道。原始图像样本的通道,取决于图像类型;

  卷积运算完成后的输出out_channels取决于卷积核的个数。此时,out_channels也将用作in _ channels卷积核在下一个卷积中的位置;

  卷积核中的In_channels,如上所述,是最后一个卷积的out_channels,如果是第一个卷积,就是样图的通道。

  例如,假设有一个663的图片样本,使用333的卷积滤波器进行卷积。此时输入图片的通道为3,卷积核中的in_channels与待卷积数据的通道一致(即图片样本为3)。接下来,执行卷积运算。卷积核中的27个数乘以对应的样本,然后求和得到第一个结果。依次进行,最后得到44的结果。因为只有一个卷积核,所以最终结果是441,out_channels是1。如下图所示:

  在实际应用中,会用到很多卷积核。如果在这里再加一个卷积核,会得到442的结果。如下图所示:

  2.nn。Conv2d

  类torch.nn.Conv2d(in_channels,out_channels,kernel_size,stride=1,padding=0,output_padding=0,groups=1,bias=True)

  神经网络的功能。Conv2d是对多个输入平面组成的输入信号进行二维卷积。输入信号的形式为:

  $$

  (N,C_{in},H,W)

  $$

  (1)参数描述

  n:表示批次大小(批次参数)

  C_{in}:表示通道的数量。

  h、W:分别为特征图的高度和宽度。

  Stride(步长):步长,默认值为1,可以设置为1个int数或者(int,int)类型的元组。

  Kernel_size:卷积核的宽度和长度,单个整数或由两个整数组成的列表/元组。如果是单个整数,则意味着每个空间维度的长度相同。

  填充(填充0):控制零填充的数量,填充是在卷积之前填充0。

  膨胀:控制核点(卷积核点)的间距;可以在这个github地址查看:膨胀卷积动画

  组(卷积核的个数):一般来说,卷积核的个数是唯一的,但在某些情况下,可以在1 —— in _ channels的范围内设置卷积核的个数:

  (2)图像尺寸

  一次卷积后,生成图形的大小为:

  (原始大小-(内核大小- 1)) /步幅

  3.nn。ConvTranspose2d

  神经网络的功能。ConvTranspose2d是去卷积。

  (1)输入格式

  nn。ConvTranspose2d(in_channels,out_channels,kernel_size,stride=1,padding=0,output_padding=0,groups=1,bias=True,dilation=1)

  (2)参数的含义

  in _ channels(int)输入信号的通道数

  out _ channels(int)卷积生成的通道数

  Kern _ size (int或tuple)-卷积核的大小

  Stride(int或tuple,可选)-卷积步长,即放大输入的倍数。

  Padding(int或tuple,可选)-输入边补充0层,高度和宽度增加2*padding。

  Output _ padding (int或tuple,可选)-输出边缘补充0层,宽度和高度增加填充。

  Groups (int,可选)从输入通道到输出通道的阻塞连接数。

  Bias(bool,可选)-如果bias=True,则添加偏移量

  膨胀(int或tuple,可选)卷积核元素之间的间距。

  了解更多编程知识,请关注我的微信官方账号:

  编码道路

  原创作品来自博客作者代码之路,

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: