卷积神经网络(二)---PyTorch卷积模块

        PyTorch 作为一个深度学习库,卷积神经网络是其中一个最为基础的模块,卷积神经网络中所有的层结构都可以通过 nn 这个包调用,下面具体介绍如何调用每种层结构,以及每个函数中的参数。

卷积层

        nn.Conv2d() 就是 PyTorch 中卷积模块了,里面常用的参数有5个,分别是 in_channels,out_channels,kernel_size,stride,padding,除此之外还有参数dilation,groups,bias。下面来解释每个参数的含义。

        in_channels 对应的是输入数据体的深度;out_channels 表示输出数据体的深度;kernel_size 表示滤波器(卷积核)的大小,可以使用一个数字来表示高和宽相同的卷积核,比如 kernel_size=3,也可以使用不同的数字来表示高和宽不同的卷积核,比如kernel_size=(3, 2);stride 表示滑动的步长;padding=0 表示四周不进行零补充,而 padding=1 表示四周进行 1 个像素点的零补充;bias 是一个布尔值,默认 bias=True,表示使用偏置;groups 表示输出数据体深度上和输入数据体深度上的联系,默认 groups=1,也就是所有的输出和输入都是相关联的,如果 groups=2,这表示输入的深度被分割成两份,输出的深度也被分割成两份,它们之间分别对应起来,所以要求输出和输入都必须要能被 groups 整除;dilation 表示卷积对于输入数据体的空间间隔,默认 dilation=1,可以直观地用图4.11表示。

卷积神经网络(二)---PyTorch卷积模块_第1张图片

池化层

        nn.MaxPool2d() 表示网络中的最大值池化,其中的参数有 kernel_size、stride、padding、dilation、return_indices、ceil_mode,下面解释一下它们各自的含义。

  •  kernel_size,stride,padding,dilation之前卷积层已经介绍过了,是相同的含义;
  • return_indices 表示是否返回最大值所处的下标,默认 return_indic

你可能感兴趣的:(cnn,pytorch,人工智能)