欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > PyTorch快速入门教程【小土堆】之土说卷积操作

PyTorch快速入门教程【小土堆】之土说卷积操作

2025/5/12 3:22:43 来源:https://blog.csdn.net/EnochChen_/article/details/144824224  浏览:    关键词:PyTorch快速入门教程【小土堆】之土说卷积操作

视频地址土堆说卷积操作(可选看)_哔哩哔哩_bilibili

跟神经网路相关的工具都放在torch.nn模块里面torch.nn — PyTorch 2.5 documentation

nn.Conv1d在由几个输入平面组成的输入信号上应用一维卷积。
nn.Conv2d在由几个输入平面组成的输入信号上应用二维卷积。
nn.Conv3d在由几个输入平面组成的输入信号上应用三维卷积。
nn.ConvTranspose1d在由多个输入平面组成的输入图像上应用一维转置卷积算子。
nn.ConvTranspose2d在由多个输入平面组成的输入图像上应用二维转置卷积算子。
nn.ConvTranspose3d在由多个输入平面组成的输入图像上应用3D转置卷积算子。
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)) #把input尺寸从([5,5])变为([1,1,5,5])
kernel = torch.reshape(kernel, (1, 1, 3, 3)) #把kernel尺寸从([3,3])变为([1,1,3,3])output = F.conv2d(input, kernel, stride=1)
print(output)
# 结果为
# tensor([[[[10, 12, 12],
#           [18, 16, 16],
#           [13,  9,  3]]]])output2 = F.conv2d(input, kernel, stride=2)
print(output2)
# tensor([[[[10, 12],
#          [13,  3]]]])output3 = F.conv2d(input, kernel, stride=1, padding=1) # 步长为1,边缘加一圈0
print(output3)
# 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]]]])

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词