当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python PyTorch conv2d用法及代码示例


本文简要介绍python语言中 torch.nn.functional.conv2d 的用法。

用法:

torch.nn.functional.conv2d(input, weight, bias=None, stride=1, padding=0, dilation=1, groups=1) → Tensor

参数

  • input-形状的输入张量

  • weight-形状过滤器(\text{out\_channels} , \frac{\text{in\_channels}}{\text{groups}} , kH , kW)

  • bias-形状为 的可选偏置张量。默认值:None

  • stride-卷积核的步幅。可以是单个数字或元组 (sH, sW) 。默认值:1

  • padding-

    输入两侧的隐式填充。可以是字符串 {‘valid’, ‘same’}、单个数字或元组 (padH, padW) 。默认值:0 padding='valid' 与无填充相同。 padding='same' 填充输入,使输出具有作为输入的形状。但是,此模式不支持 1 以外的任何步幅值。

    警告

    对于 padding='same' ,如果 weight 是偶数长度并且 dilation 在任何维度上都是奇数,则内部可能需要完整的 pad() 操作。降低性能。

  • dilation-内核元素之间的间距。可以是单个数字或元组 (dH, dW) 。默认值:1

  • groups-将输入分成组, 应该可以被组数整除。默认值:1

在由多个输入平面组成的输入图像上应用 2D 卷积。

该运算符支持 TensorFloat32。

有关详细信息和输出形状,请参见 Conv2d

注意

在某些情况下,当在 CUDA 设备上给定张量并使用 CuDNN 时,此运算符可能会选择非确定性算法来提高性能。如果这是不可取的,您可以尝试通过设置 torch.backends.cudnn.deterministic = True 来使操作具有确定性(可能以性能为代价)。有关详细信息,请参阅重现性。

例子:

>>> # With square kernels and equal stride
>>> filters = torch.randn(8, 4, 3, 3)
>>> inputs = torch.randn(1, 4, 5, 5)
>>> F.conv2d(inputs, filters, padding=1)

相关用法


注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torch.nn.functional.conv2d。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。