Conv2D

    • class Conv2D(num_channels, num_filters, filter_size, stride=1, padding=0, dilation=1, groups=None, param_attr=None, bias_attr=None, use_cudnn=True, act=None, dtype='float32')[源代码]

    对每个输入 X ,有等式:

    • 其中:
      • Conv2D - 图2 :输入特征图, NCHW 格式的 Tensor
      • :滤波器,维度为 [M, C, H, W] 的 Tensor
      • Conv2D - 图4 :卷积操作
      • :偏移值,2-D ,维度为 [M,1]
      • Conv2D - 图6 :激活函数
      • :输出值, OutX 的维度可能不同

    输出维度计算示例

    输入维度:

    滤波器维度:

    Conv2D - 图9

    • 输出:

    输出维度:

    • 其中
    • 参数:
      • num_channels (int) - 输入图像的通道数。
      • num_fliters (int) - 滤波器的个数,和输出特征图个数相同。
      • filter_size (int|tuple) - 滤波器大小。如果 filter_size 是一个元组,则必须包含两个整型数,分别表示滤波器高度和宽度。否则,表示滤波器高度和宽度均为 filter_size
      • stride (int|tuple, 可选) - 步长大小。如果 stride 为元组,则必须包含两个整型数,分别表示垂直和水平滑动步长。否则,表示垂直和水平滑动步长均为 stride 。默认值:1。
      • padding (int|tuple, 可选) - 填充大小。如果 padding 为元组,则必须包含两个整型数,分别表示竖直和水平边界填充大小。否则,表示竖直和水平边界填充大小均为 。默认值:0。
      • dilation (int|tuple, 可选) - 膨胀系数大小。如果 dialation 为元组,则必须包含两个整型数,分别表示垂直和水平膨胀系数。否则,表示垂直和水平膨胀系数均为 dialation 。默认值:1。
      • groups (int, 可选) - 二维卷积层的组数。根据Alex Krizhevsky的深度卷积神经网络(CNN)论文中的分组卷积:当group=2,滤波器的前一半仅和输入特征图的前一半连接。滤波器的后一半仅和输入特征图的后一半连接。默认值:1。
      • bias_attr (ParamAttr|bool, 可选) - 指定偏置参数属性的对象。默认值为None,表示使用默认的偏置参数属性。具体用法请参见 。
      • use_cudnn (bool, 可选) - 是否用cudnn核,只有已安装cudnn库时才有效。默认值:True。
      • act (str, 可选) - 应用于输出上的激活函数,如tanh、softmax、sigmoid,relu等,支持列表请参考 激活函数 ,默认值:None。
      • dtype (str, 可选) - 数据类型,可以为"float32"或"float64"。默认值:"float32"。

    返回:无

    • 抛出异常:
      • ValueError - 如果 use_cudnn 不是bool值

    代码示例

    • weight

    本层的可学习参数,类型为 Parameter

    • bias

    本层的可学习偏置,类型为 Parameter