内容目录
合集请看:pyTorch入门合集
基础知识可以参考:[[006深度学习入门——卷积神经网络]]
(stride和padding等参数的具体意义均在上面链接中有提到)
此处用pytorch实现,主要使用conv2d的方法
conv2d表示二维数组的卷积
更详细信息可以参考pyTorch官方文档
注意,这里使用的是torch.nn.functional,一般我们使用torch.nn即可(在[[006pyTorch入门——卷积层]]可以看到),torch.nn库中的函数和torch.nn.functional库中的函数是一一对应的,两者是封装与包容的关系
import torch
import torch.nn.functional as F
# 输入图像的二维矩阵
input = torch.tensor([[1,2,0,3,1],
[0,1,2,3,1],
[1,2,1,0,0],
[5,2,3,1,1],
[2,1,0,1,1]])
# 卷积核的二维矩阵
kernel = torch.tensor([[1,2,1],
[0,1,0],
[2,1,0]])
# 调整矩阵的尺寸
input = torch.reshape(input,(1, 1, 5, 5))
kernel = torch.reshape(kernel,(1, 1, 3, 3))
# 四个参数分别表示:原矩阵,卷积核,stride,padding。更多参数请参考官方文档
output = F.conv2d(input, kernel, stride=1, padding = 1)
print(output)