當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。