本文简要介绍python语言中 torch.nn.Conv2d
的用法。
用法:
class torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True, padding_mode='zeros', device=None, dtype=None)
在由多个输入平面组成的输入信号上应用 2D 卷积。
在最简单的情况下,输入大小为 和输出 的层的输出值可以精确地说明为:
其中 cross-correlation 运算符, 是批量大小, 表示通道数, 是以像素为单位的输入平面的高度, 是以像素为单位的宽度. 是有效的 2D
该模块支持 TensorFloat32。
stride
控制互相关、单个数字或元组的步幅。padding
控制应用于输入的填充量。它可以是字符串 {‘valid’, ‘same’} 或整数元组,给出两侧应用的隐式填充量。dilation
控制内核点之间的间距;也称为 à trous 算法。很难说明,但是这个link 很好地可视化了dilation
的作用。groups
控制输入和输出之间的连接。in_channels
和out_channels
都必须能被groups
整除。例如,在 groups=1 时,所有输入都卷积到所有输出。
在 groups=2 时,该操作等效于并排有两个卷积层,每个卷积层看到一半的输入通道并产生一半的输出通道,并且随后将两者连接起来。
在 groups=
in_channels
,每个输入通道都与自己的一组过滤器(大小为 )进行卷积。
参数
kernel_size
、stride
、padding
、dilation
可以是:单个
int
- 在这种情况下,高度和宽度尺寸使用相同的值两个整数的
tuple
- 在这种情况下,第一个int
用于高度维度,第二个int
用于宽度维度
注意
当
groups == in_channels
和out_channels == K * in_channels
时,其中K
是正整数,此操作也称为 “depthwise convolution”。换句话说,对于大小为
K
的深度卷积。 的输入,可以使用参数 执行具有深度乘数注意
在某些情况下,当在 CUDA 设备上给定张量并使用 CuDNN 时,此运算符可能会选择非确定性算法来提高性能。如果这是不可取的,您可以尝试通过设置
torch.backends.cudnn.deterministic = True
来使操作具有确定性(可能以性能为代价)。有关详细信息,请参阅重现性。注意
padding='valid'
与无填充相同。padding='same'
填充输入,使输出具有作为输入的形状。但是,此模式不支持 1 以外的任何步幅值。- 形状:
输入:
输出:
例子
>>> # With square kernels and equal stride >>> m = nn.Conv2d(16, 33, 3, stride=2) >>> # non-square kernels and unequal stride and with padding >>> m = nn.Conv2d(16, 33, (3, 5), stride=(2, 1), padding=(4, 2)) >>> # non-square kernels and unequal stride and with padding and dilation >>> m = nn.Conv2d(16, 33, (3, 5), stride=(2, 1), padding=(4, 2), dilation=(3, 1)) >>> input = torch.randn(20, 16, 50, 100) >>> output = m(input)
参数:
变量:
相关用法
- Python PyTorch Conv2d用法及代码示例
- Python PyTorch ConvTranspose3d用法及代码示例
- Python PyTorch Conv1d用法及代码示例
- Python PyTorch ConvTranspose2d用法及代码示例
- Python PyTorch Conv3d用法及代码示例
- Python PyTorch ContinuousBernoulli用法及代码示例
- Python PyTorch ConstantPad2d用法及代码示例
- Python PyTorch Concater用法及代码示例
- Python PyTorch ConstantLR用法及代码示例
- Python PyTorch ConstantPad1d用法及代码示例
- Python PyTorch ConstraintRegistry.register用法及代码示例
- Python PyTorch ConstantPad3d用法及代码示例
- Python PyTorch Collator用法及代码示例
- Python PyTorch CosineAnnealingWarmRestarts.step用法及代码示例
- Python PyTorch CocoCaptions用法及代码示例
- Python PyTorch ComplexNorm用法及代码示例
- Python PyTorch Compose用法及代码示例
- Python PyTorch CosineSimilarity用法及代码示例
- Python PyTorch CSVParser用法及代码示例
- Python PyTorch CrossEntropyLoss用法及代码示例
- Python PyTorch ChannelShuffle用法及代码示例
- Python PyTorch CSVDictParser用法及代码示例
- Python PyTorch Cityscapes用法及代码示例
- Python PyTorch ChainedScheduler用法及代码示例
- Python PyTorch Cauchy用法及代码示例
注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torch.nn.Conv2d。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。