目录
一、PyTorch 卷积操作基础(二维卷积 F.conv2d)
二、使用 nn.Conv2d + TensorBoard 可视化卷积输出(CIFAR10 图像卷积与 TensorBoard 可视化)
前言
本章涵盖了基础的 二维卷积操作和使用 nn.Conv2d 模块 + TensorBoard 可视化卷积效果 的完整流程。
一、PyTorch 卷积操作基础(二维卷积 F.conv2d)
1.引入必要库
import torch
import torch.nn.functional as F
2. 构建图像以及卷积核
#图像
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]])
3.进行reshape 操作
在 PyTorch 中,F.conv2d 函数要求输入和卷积核必须是 4D 张量,且维度顺序为 [N, C, H, W](批量大小、通道数、高度、宽度)。上一个步骤创建的仅仅是5*5的2D矩阵并不符合卷积条件。
因此要进行两次reshape操作:
input=torch.reshape(input,(1,1,5,5))
'''1(第 1 个维度):批量大小(Batch Size),这里表示只处理一张图片。
1(第 2 个维度):通道数,灰度图的通道数为 1。彩色是3(RGB)
5(第 3 个维度):高度,表示图像的高度为 5。
5(第 4 个维度):宽度,表示图像的宽度为 5。'''
kernel=torch.reshape(kernel,(1,1,3,3))
4.验证是否reshape成功:
print(input.shape)
print(kernel.shape)
输出结果:
torch.Size([1, 1, 5, 5])
torch.Size([1, 1, 3, 3])-----------》验证成功
5.调用 F.conv2d 开“卷”:
但是卷之前还是得了解一下卷

最低0.47元/天 解锁文章
1235

被折叠的 条评论
为什么被折叠?



