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


Python PyTorch conv2d用法及代碼示例


本文簡要介紹python語言中 torch.nn.quantized.functional.conv2d 的用法。

用法:

torch.nn.quantized.functional.conv2d(input, weight, bias, stride=1, padding=0, dilation=1, groups=1, padding_mode='zeros', scale=1.0, zero_point=0, dtype=torch.quint8)

參數

  • input-形狀的量化輸入張量

  • weight-形狀量化濾波器(\text{out\_channels} , \frac{\text{in\_channels}}{\text{groups}} , kH , kW)

  • bias-非量化形狀的偏置張量(\text{out\_channels}) .張量類型必須是torch.float.

  • stride-卷積核的步幅。可以是單個數字或元組 (sH, sW) 。默認值:1

  • padding-輸入兩側的隱式填充。可以是單個數字或元組 (padH, padW) 。默認值:0

  • dilation-內核元素之間的間距。可以是單個數字或元組 (dH, dW) 。默認值:1

  • groups-將輸入分成組, 應該可以被組數整除。默認值:1

  • padding_mode-要使用的填充模式。目前僅支持“zeros” 量化卷積。默認值:“zeros”

  • scale-輸出的量化比例。默認值:1.0

  • zero_point-量化 zero_point 用於輸出。默認值:0

  • dtype-要使用的量化數據類型。默認值:torch.quint8

在由多個輸入平麵組成的量化 2D 輸入上應用 2D 卷積。

有關詳細信息和輸出形狀,請參閱Conv2d

例子:

>>> from torch.nn.quantized import functional as qF
>>> filters = torch.randn(8, 4, 3, 3, dtype=torch.float)
>>> inputs = torch.randn(1, 4, 5, 5, dtype=torch.float)
>>> bias = torch.randn(8, dtype=torch.float)
>>>
>>> scale, zero_point = 1.0, 0
>>> dtype_inputs = torch.quint8
>>> dtype_filters = torch.qint8
>>>
>>> q_filters = torch.quantize_per_tensor(filters, scale, zero_point, dtype_filters)
>>> q_inputs = torch.quantize_per_tensor(inputs, scale, zero_point, dtype_inputs)
>>> qF.conv2d(q_inputs, q_filters, bias, padding=1, scale=scale, zero_point=zero_point)

相關用法


注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torch.nn.quantized.functional.conv2d。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。