005.5pyTorch入门——卷积的pytorch实现.md
内容目录

合集请看: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)
上一篇
下一篇