【pytorch】torch.nn.Unfold操作

说明

一个代码里涉及到了unfold的操作,看了半天官网都没整明白维度怎么变化的,参考这个链接搞明白了:

https://blog.csdn.net/ViatorSun/article/details/119940759

https://zhuanlan.zhihu.com/p/361140988

维度计算

输入( N, C, H, W)

输出(N,C×∏(kernel_size),L)

L 是通过卷积核 滑动裁剪 后,得到的区块的数量。

C×∏(kernel_size)是怎么来的?

从第一个参考链接的图可以看到,就是窗口滑动的时候,把窗口同一个位置的值放在了一个通道,所以窗口有多少个像素,就变成了多少个通道。

用参考博客的代码做一个示例:

python 复制代码
inputs = torch.randn(1, 2, 4, 4)
print(inputs.size())
print(inputs)
unfold  = torch.nn.Unfold(kernel_size=(2, 2), stride=2)
patches = unfold(inputs)
print(patches.size())
print(patches)

输出结果

python 复制代码
torch.Size([1, 2, 4, 4])
tensor([[[[ 0.4448, -1.8525, -1.8243, -1.0243],
          [ 0.0224, -1.2402, -0.7154, -1.2538],
          [-0.6515, -0.6022,  0.2263, -1.6286],
          [ 0.2067,  0.8257, -1.9318,  1.0372]],

         [[ 2.4799, -0.5248, -0.3170,  1.5934],
          [-0.3643,  1.1624, -1.5762, -0.1827],
          [-0.0553,  0.1629, -1.3280, -0.8468],
          [ 0.0671,  1.6328,  1.1706,  1.7891]]]])
torch.Size([1, 8, 4])
tensor([[[ 0.4448, -1.8243, -0.6515,  0.2263],
         [-1.8525, -1.0243, -0.6022, -1.6286],
         [ 0.0224, -0.7154,  0.2067, -1.9318],
         [-1.2402, -1.2538,  0.8257,  1.0372],
         [ 2.4799, -0.3170, -0.0553, -1.3280],
         [-0.5248,  1.5934,  0.1629, -0.8468],
         [-0.3643, -1.5762,  0.0671,  1.1706],
         [ 1.1624, -0.1827,  1.6328,  1.7891]]])

用两个窗口的情况来举例,每个位置对应的结果情况如下:

相关推荐
gis分享者1 小时前
AI数字营销实测体验,GEO效果查询功能体验
人工智能·csdn·geo·数字营销·实测体验·效果查询
莱歌数字1 小时前
轻出20%性能:三维拓扑优化如何重塑无人机电子设备散热格局
人工智能·科技·制造·cae·散热
猿小猴子2 小时前
主流 AI IDE 之一的「DeepSeek-Reasonix 」介绍
人工智能·ai·deepseek·reasonix
装不满的克莱因瓶2 小时前
链式法则如何传递参数误差 —— 深入理解神经网络中的梯度传播
人工智能·python·深度学习·神经网络·数学·机器学习·ai
Anastasiozzzz2 小时前
从有限状态机到智能体图:传统 FSM 与 Agent Graph的演进
java·人工智能·python·ai
程序员cxuan7 小时前
为每个任务配一套 harness:Claude Code 里的动态工作流
人工智能
程序员cxuan8 小时前
Claude Fable 5 来了
人工智能·后端·程序员
云边云科技_云网融合8 小时前
云边云科技亮相 2026 WOD 制造业数智化博览会 云网融合赋能制造焕新
人工智能·科技·安全·制造
biter down8 小时前
从 0 到 1 搭建 Python 接口自动化测试框架(博客系统实战)
开发语言·python
Σίσυφος19008 小时前
激光三角 光平面标定-多高度误差分析
人工智能·计算机视觉·平面