当前位置:网站首页 > Haskell函数式编程 > 正文

conv2d函数(conv2d函数解析)



  • 描述一个像素点,如果是灰度,那么只需要一个数值来描述它,就是单通道。如果有RGB三种颜色来描述它,就是三通道。最初输入的图片样本的 ,取决于图片类型;
  • 卷积操作完成后输出的 ,取决于卷积核的数量。此时的 也会作为下一次卷积时的卷积核的 ;
  • 卷积核中的 ,上面已经说了,就是上一次卷积的 ,如果是第一次做卷积,就是样本图片的 。

举个例子,假设现有一个为 6×6×3的图片样本,使用 3×3×3 的卷积核(filter)进行卷积操作。此时输入图片的 为 3,而卷积核中的 与需要进行卷积操作的数据的 一致(就是图片样本,为3)。接下来进行卷积操作,卷积核中的27个数字与分别与样本对应相乘后,再进行求和,得到第一个结果。依次进行,最终得到 4×4的结果。由于只有一个卷积核,所以最终得到的结果为 4×4×1, 为 1。如下图所示:

函数

在实际应用中,都会使用多个卷积核。这里如果再加一个卷积核,就会得到 4×4×2的结果。如下图所示:

函数

 
  

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

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

N:表示batch size(批处理参数)

C_{in} :表示channel个数

H,W:分别表示特征图的高和宽。

stride(步长):步长,默认为1,可以设为1个int型数或者一个(int, int)型的tuple。

kernel_size:卷积核的宽度和长度,单个整数或由两个整数构成的list/tuple。如为单个整数,则表示在各个空间维度的相同长度。

padding(补0):控制zero-padding的数目,padding是在卷积之前补0。

dilation(扩张):控制kernel点(卷积核点)的间距; 可以在此github地址查看:Dilated convolution animations

groups(卷积核个数):通常来说,卷积个数唯一,但是对某些情况,可以设置范围在1 —— in_channels中数目的卷积核:

经过一次卷积之后,生成的图的大小:

nn.ConvTranspose2d的功能是进行反卷积操作

 
  
  • in_channels(int) – 输入信号的通道数
  • out_channels(int) – 卷积产生的通道数
  • kerner_size(int or tuple) - 卷积核的大小
  • stride(int or tuple,optional) - 卷积步长,即要将输入扩大的倍数。
  • padding(int or tuple, optional) - 输入的每一条边补充0的层数,高宽都增加2*padding
  • output_padding(int or tuple, optional) - 输出边补充0的层数,高宽都增加padding
  • groups(int, optional) – 从输入通道到输出通道的阻塞连接数
  • bias(bool, optional) - 如果bias=True,添加偏置
  • dilation(int or tuple, optional) – 卷积核元素之间的间距

  

审核编辑:汤梓红

到此这篇conv2d函数(conv2d函数解析)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 支付方式图片英文(支付方式图片表情包)2026-05-17 08:00:06
  • 支付方式怎么更换快手(快手如何更换支付方式)2026-05-17 08:00:06
  • 支付方式怎么填写才正确(支付方式填什么)2026-05-17 08:00:06
  • sigmod(sigmoid和tanh函数)2026-05-17 08:00:06
  • 指数与对数的公式大全(指数对数所有公式)2026-05-17 08:00:06
  • sigmrnd函数(sigmoid函数有哪些)2026-05-17 08:00:06
  • 指数与对数的转换公式(指数与对数的转换公式例题)2026-05-17 08:00:06
  • lead函数是聚合函数不是窗口函数对吗(lead()函数)2026-05-17 08:00:06
  • 消息认证码MAC(消息认证码MAC和Hash函数的概念和特点)2026-05-17 08:00:06
  • udp广播报文(udp广播报文格式)2026-05-17 08:00:06
  • 全屏图片