卷积层神经网路学习conv2d
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 (minibatch,in_channels,𝑖𝐻,𝑖𝑊)(minibatch,in_channels,iH,iW)
-
weight – filters of shape (out_channels,in_channelsgroups,𝑘𝐻,𝑘𝑊)(out_channels,groupsin_channels,kH,kW)
-
bias – optional bias tensor of shape (out_channels)(out_channels). 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 full pad() 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, both in_channelsin_channels and out_channelsout_channels 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)