原理已经在上一篇进行解释
- in_channels:输入图片通道数,rgb图片的通道数为3
- out_channels:卷积核的个数
- kernel_size:卷积核大小,int or tuple
- stride:步长.默认为1
- padding:填充行\列数,默认为0,不填充
- padding_mode:填充的方式,默认为0
- diliation:卷积核中心位置与四周的间隔,默认为1,2开始生效(下图),又叫空洞卷积
- groups:分组卷积,待补充……
- bias:偏置项,默认为True
下面是一个简单的示例:
import torchvision
import torch.nn as nn
from torch.nn import Conv2d
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter
dataset = torchvision.datasets.CIFAR10("dataset", train=False, transform=torchvision.transforms.ToTensor(),
download=True)
loader = DataLoader(dataset=dataset, batch_size=64)
class model(nn.Module):
def __init__(self):
super().__init__()
self.conv1 = Conv2d(3, 3, 3)
def forward(self, x):
x = self.conv1(x)
return x
conv1 = model()
writer = SummaryWriter("log")
step = 1
for data in loader:
img, target = data
output = conv1(img)
print(img.shape)
print(output.shape)
writer.add_images("input", img, step)
writer.add_images("output", output, step)
step += 1