【Pytorch】卷积操作 - 学习笔记

32 篇文章 1 订阅
21 篇文章 2 订阅

视频地址
卷积操作如下:
在这里插入图片描述

看看官方文档里的卷积层的解释~
在这里插入图片描述
点击conv2d,看到解释页面1
在这里插入图片描述
解释页面2(是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]])

# 这里要使用reshape是因为卷积函数需要4维的数据,所以要按照它的要求把输入的2维变成4维(升维)
input = torch.reshape(input, (1, 1, 5, 5)) # batch_size, channel, 5×5的大小
kernel = torch.reshape(kernel, (1, 1, 3, 3)) # batch_size, channel, 3×3的大小

print(input.shape)
print(kernel.shape)

output = F.conv2d(input, kernel, stride=1) # 点击ctrl+p查看需要填入的参数
print(output)

输出结果为

D:\Anaconda3\envs\pytorch\python.exe D:/研究生/代码尝试/nn_conv.py
torch.Size([1, 1, 5, 5])
torch.Size([1, 1, 3, 3])
tensor([[[[10, 12, 12],
          [18, 16, 16],
          [13,  9,  3]]]])

进程已结束,退出代码为 0

可以发现,和ppt里面输出结果一样

加了padding之后
在这里插入图片描述
在源代码下面增加

output = F.conv2d(input, kernel, stride=1, padding=1) # 点击ctrl+p查看需要填入的参数
print(output)

输出结果

tensor([[[[ 1,  3,  4, 10,  8],
          [ 5, 10, 12, 12,  6],
          [ 7, 18, 16, 16,  8],
          [11, 13,  9,  3,  4],
          [14, 13,  9,  7,  4]]]])

进程已结束,退出代码为 0

大功告成啦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值