torch.nn.functional.conv2d¶
- torch.nn.functional.conv2d(input, weight, bias=None, stride=1, padding=0, dilation=1, groups=1) Tensor ¶
Applies a 2D convolution over an input image composed of several input planes.
This operator supports TensorFloat32.
See
Conv2d
for details and output shape.Note
In some circumstances when given tensors on a CUDA device and using CuDNN, this operator may select a nondeterministic algorithm to increase performance. If this is undesirable, you can try to make the operation deterministic (potentially at a performance cost) by setting
torch.backends.cudnn.deterministic = True
. See Reproducibility for more information.Note
This operator supports complex data types i.e.
complex32, complex64, complex128
.- Parameters:
input – input tensor of shape
weight – filters of shape
bias – optional bias tensor of shape . Default:
None
stride – the stride of the convolving kernel. Can be a single number or a tuple (sH, sW). Default: 1
padding –
implicit paddings on both sides of the input. Can be a string {‘valid’, ‘same’}, single number or a tuple (padH, padW). Default: 0
padding='valid'
is the same as no padding.padding='same'
pads the input so the output has the same shape as the input. However, this mode doesn’t support any stride values other than 1.Warning
For
padding='same'
, if theweight
is even-length anddilation
is odd in any dimension, a fullpad()
operation may be needed internally. Lowering performance.dilation – the spacing between kernel elements. Can be a single number or a tuple (dH, dW). Default: 1
groups – split input into groups, should be divisible by the number of groups. Default: 1
Examples:
>>> # 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)