nn.conv2d用法
时间: 2023-08-07 20:12:06 浏览: 71
nn.Conv2d是PyTorch中用于实现二维卷积操作的函数,其用法如下所示:
```
nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True, padding_mode='zeros')
```
参数说明:
- in_channels: 输入张量的通道数。
- out_channels: 输出张量的通道数。
- kernel_size: 卷积核的大小,可以是一个整数或一个二元组。
- stride: 卷积核在图像上滑动的步长,可以是一个整数或一个二元组,默认为 1。
- padding: 在输入张量每个维度两侧添加的零填充数,可以是一个整数或一个二元组,默认为 0。
- dilation: 卷积核元素之间的间隔,可以是一个整数或一个二元组,默认为 1。
- groups: 输入和输出张量之间连接的组数,可以是一个整数,默认为 1。
- bias: 是否添加偏置项,可以是一个布尔值,默认为 True。
- padding_mode: 零填充的方式,可以是 'zeros' 或 'circular'。
使用示例:
```python
import torch.nn as nn
import torch
# 定义一个二维卷积层
conv = nn.Conv2d(in_channels=3, out_channels=16, kernel_size=3, stride=1, padding=1)
# 构造一个输入张量
x = torch.randn(1, 3, 28, 28)
# 进行卷积操作
out = conv(x)
# 输出张量的形状
print(out.shape)
```
输出结果为:torch.Size([1, 16, 28, 28]),表示输出张量的形状为 1x16x28x28,其中 1 表示 batch size,16 表示输出通道数,28x28 表示输出张量的大小。
阅读全文