Pytorch卷积基础知识

时间:2019-06-18 15:12:16

标签: deep-learning pytorch

从pytorch for Convolution here的文档中,我看到函数torch.nn.Conv1d要求用户传递参数,即in_channelsout_channels。我知道它们是指输入通道和输出通道,但是我不确定它们在卷积上下文中的含义。我的猜测是input_channels等效于输入功能,而output_channels等效于输出功能,但是我不确定。

有人可以向我解释吗?非常感谢!

2 个答案:

答案 0 :(得分:1)

给定一个卷积:

  • 长度m
  • 超过 N 个输入通道/信号/变量
  • 输出 P 个频道/特征/过滤器

你会使用:

nn.Conv1d(in_channels=N, out_channels=P, kernel_size=m)

下面 Deep Learning with PyTorch 中的 2d 图像对此进行了说明(其中内核的大小为 3x3xN(其中 N=3 表示 RGB 图像),并且有 5 个这样的内核用于所需的 5 个输出):

enter image description here

答案 1 :(得分:0)

in_Channels表示输入图像中的通道数,而out_channels表示由卷积产生的通道数。对于图像数据,最常见的情况是具有一个通道的灰度图像,具有三个通道(红色,绿色和蓝色)的彩色或黑色图像。 out_channels是个人喜好问题,但有一些重要的注意事项。

  • 首先,大量的out_channels允许该层潜在地学习有关输入数据的更有用的功能,尽管这不是硬性规定。
  • 第二,您的CNN的大小是网络每一层中in_channels / out_channels的数量和层数的函数。