torch.nn.functional.conv3d¶
- torch.nn.functional.conv3d(input, weight, bias=None, stride=1, padding=0, dilation=1, groups=1) Tensor ¶
對由多個輸入平面組成的輸入圖像應用 3D 卷積。
此運算子支援 TensorFloat32。
有關詳細資訊和輸出形狀,請參閱
Conv3d
。注意
在某些情況下,當在 CUDA 裝置上給定 tensors 並使用 CuDNN 時,此運算子可能會選擇一種非確定性的演算法來提高效能。 如果不希望這樣,您可以嘗試透過設定
torch.backends.cudnn.deterministic = True
使操作具有確定性(可能會犧牲效能)。 有關更多資訊,請參閱 再現性。注意
此運算子支援複雜的資料類型,即
complex32, complex64, complex128
。- 參數
input – 形狀為 的輸入 tensor
weight – 形狀為 的濾波器
bias – 形狀為 的可選偏差 tensor。預設值:None
stride – 卷積核心的步幅。可以是單個數字或元組 (sT, sH, sW)。預設值:1
padding –
輸入兩側的隱式填充。 可以是字串 {'valid', 'same'}、單個數字或元組 (padT, padH, padW)。 預設值:0
padding='valid'
與不填充相同。padding='same'
填充輸入,使輸出具有與輸入相同的形狀。 但是,此模式不支援除 1 之外的任何步幅值。警告
對於
padding='same'
,如果在任何維度上weight
是偶數長度且dilation
是奇數,則內部可能需要完整的pad()
操作。 降低效能。dilation – 核心元素之間的間距。可以是單個數字或元組 (dT, dH, dW)。預設值:1
groups – 將輸入分成群組, 應可被群組數量整除。預設值:1
範例
>>> filters = torch.randn(33, 16, 3, 3, 3) >>> inputs = torch.randn(20, 16, 50, 10, 20) >>> F.conv3d(inputs, filters)