17 卷积操作讲解

一、卷积函数

1.二维卷积

image

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

image

  • 卷积核的运算

image

  • padding运算
    image

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)
  • 运行结果
    image
posted @ 2022-05-17 17:22  Trouvaille_fighting  阅读(85)  评论(0)    收藏  举报