一、卷积函数
1.二维卷积

- torch.nn.functional包含在torch.nn,是更详细的方法的解说


- padding运算

2. 案例
import torch
import torch.nn.functional as F
# 1. 输入张量(图片)
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]])
# 2. 卷积核
kernel=torch.tensor([[1,2,1],
[0,1,0],
[2,1,0]])
# 3. 输出
print(input.shape)#输入的形状H,W
print(kernel.shape)#卷积核的形状H,W
# 4. 对输入和卷积进行尺寸变换,满足卷积的参数输入->H,W->batchsize,channel,H,W
input=torch.reshape(input,(1,1,5,5))
kernel=torch.reshape(kernel,(1,1,3,3))
# 4.1 输出卷积后的结果
output=F.conv2d(input,kernel,stride=1)
print(output)
# 4.2 步伐为2
output1=F.conv2d(input,kernel,stride=2)
print(output1)
# 4.3 测试padding
output2=F.conv2d(input,kernel,stride=1,padding=1)
print(output2)
- 运行结果
