文章目录
- 一、前置知识
- 什么是卷积操作
- 二、代码
一、前置知识
什么是卷积操作
推荐几个高赞博客:
卷积最容易理解的解释
卷积神经网络(CNN)详细介绍及其原理详解
还有pytorch官网的动态图:
pytorch卷积
二、代码
import torch
import torch.nn.functional as Finput = 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))print(input.shape)
print(kernel.shape)output1 = F.conv2d(input, kernel, stride=1)
print(output1)output2 = F.conv2d(input, kernel, stride=2)
print(output2)output3 = F.conv2d(input, kernel, stride=1,padding=1)
print(output3)
运行结果: