nn.unfold和nn.fold与张量.unfold,还有F.unfold是不一样的操作

62 篇文章 1 订阅
订阅专栏

1:nn.unfold和nn.fold参考:(1条消息) 「详解」torch.nn.Fold和torch.ynn.Unfold操作_ViatorSun的博客-CSDN博客_unfold操作

(1条消息) pytorch中的nn.Unfold()函数和fold(函数详解_halo_wm的博客-CSDN博客_unfold函数

(1条消息) 图解卷积计算原理与pytorch中fold和unfold函数的使用_子燕若水的博客-CSDN博客_fold unfold2:张量.unfold(dim, size, step)

 参考自 (13条消息) F.pad() 函数详解_晓野豬的博客-CSDN博客_f.pad

但发现该参考博客有点问题,下面结合自己的实验进行说明。

实验代码如下:

a = torch.rand(1,3,5,5)
print(a)
b = a.unfold(dimension=2, size=3, step=1)
print(b.shape)
print(b)

结果如下:

 

 结果分析:

dim参数:决定滑动窗口在那个维度取值,比如这个例子中,就是在H维度取值

size参数:决定了窗口的大小,而且只能是一维的

step:决定了窗口在前面指定的dim维度上,每次滑动的步长这里注意,step决定的是在指定维度上面滑动的步长,但窗口自身还有一个移动方向,是在最后一个维度,也就是W纬上面的滑动,如果dim不是在最后一个维度,则在W维度上面的移动的步长一直都是1。

所以,根据上面的理解,我们可以形象的理解,张量.unfold()是怎么吧一张图片切分成一个个小小的patch了,如图:

 实际的例子参考: (13条消息) pytorch实现图像的腐蚀和膨胀_两只蜡笔的小新的博客-CSDN博客_pytorch 腐蚀

3:F.unfold:

例子:

 结果:将所有通道的特征图上面指定kernel_size大小的像素排列在一列上面

Python深度学习】零基础掌握Pytorch Convolution Layers nn.Fold方法
Mr数据杨
11-14 107
通过本文的探讨,不仅深入了解了nn.Unfoldnn.Fold在PyTorch中的工作原理和应用实例,还揭示了它们在现代深度学习中的重要性。这些高级功能弥补了传统卷积网络在处理复杂数据时的不足,为开发更加精准和高效的神经网络模型提供了可能。未来,随着深度学习技术的不断进步和发展,这类工具的应用范围和效能都有望得到进一步的扩展和提升。这将推动整个人工智能领域向着更加高效、智能的方向迈进,为人类的科技进步贡献力量。
pytorch中的torch.nn.Unfold和torch.nn.Fold
热门推荐
春笋的博客
06-11 2万+
pytorch中的torch.nn.Unfold和torch.nn.Fold目的Unfold 目的 平时使用卷积操作时,既卷积核滑动窗口操作,对于pytorch,以二维图像为例,调用nn.Conv2d就能完成对输入(feature maps)的卷积操作。 但有时,maybe要探究卷积核对应的某一channel的单个窗口的卷积操作,或显式地进行卷积操作。此时,就需要nn.Unfoldnn.Fold。前段时间引起较大争议的BagNet(Bag of local feature net)的分块卷积操作既由此函数
【PyTorch秒懂系列】torch.nn.Unfold/torch.nn.functional.unfold/F.unfold
jaredyam's blog
07-13 1416
nn.Unfold or F.unfold Extracts sliding local blocks from a batched input tensor. 将一个分批次的输入张量按局部块状区域逐次展开。 核心思想 作用于image-like的输入张量或特征图。作用后的特征图特征为原始特征图邻域特征展开、并逐通道连接后得到的新的特征图。 图示 [ 1.11 1.12 1.21 1.22 2.11 2.12 2.21 2.22 > x.yz: x=通道 y=高 z=宽 &g.
深度学习入门-08
最新发布
qhqlnannan的专栏
08-27 995
基于小土堆学习。
pytorch中的nn.Unfold()函数和fold(函数详解
qq_37937847的博客
04-13 1万+
文章目录1.nn.Unfold()函数2.nn.Fold()函数 1.nn.Unfold()函数 描述:pytorch中的nn.Unfold()函数,在图像处理领域,经常需要用到卷积操作,但是有时我们只需要在图片上进行滑动的窗口操作,将图片切割成patch,而不需要进行卷积核和图片值的卷积乘法操作。这是就需要用到nn.Unfold()函数,该函数是从一个batch图片中,提取出滑动的局部区域块,也就是卷积操作中的提取kernel filter对应的滑动窗口。 torch.nn.Unfold(kernel_s
nn.Unfold()函数用法
qq_46091002的博客
08-15 369
的基本参数是,它定义了每个局部块的大小。stride:步长,控制局部块在输入数据上滑动的间隔。默认值为 1。padding:填充,控制局部块边缘的零填充数量。默认值为 0。
PyTorch基础(13)-- torch.nn.Unfold()方法
奋斗の博客
05-13 4375
一、方法详解 方法 torch.nn.Unfold(kernel_size, dilation=1, padding=0, stride=1) parameters kernel_size (int or tuple) – 滑动窗口的size stride (int or tuple, optional) – 空间维度上滑动的步长,默认步长为1 padding (int or tuple, optional) – implicit zero padding to be added
关于Pytorch的F.unfold函数
chicunlian4601的博客
05-30 4209
关于Pytorch的F.unfold函数
torch.nn.Unfold()详细解释
A3630623的专栏
10-07 4983
torch.nn.Unfold(kernel_size, dilation=1, padding=0, stride=1) 功能:从一个批次的输入张量中提取出滑动的局部区域块。(Extracts sliding local blocks from a batched input tensor.) 参数: kernel_size(intortuple) – 滑块的大小 stride(intortuple,optional) – 滑块的步长(the stride of the sliding blo..
torch.unfold
09-28
torch.nn.Foldnn.Unfold是PyTorch中的两个操作,用于处理滑动窗口区块。nn.Unfold将输入的滑动窗口区块展平,而torch.nn.Fold则将提取出的滑动局部区域块还原成batch的张量形式。 关于nn.Unfold的使用,可以通过...
张量中unfold()函数理解
keith的博客
07-17 3965
张量中unfold()函数理解
基础学习——nn.Unfold 批量切片、F.conv2d 指定卷积核二维卷积操作nn.Conv2d卷积层
Chaoy6565的博客
12-05 1119
nn.Unfold 批量切片、F.conv2d 指定卷积核二维卷积。这是我最近遇到的一个问题,对图片每个像素点进行遍历,并且对每个像素点所在的33区域进行数据计算,最开始我是用for来写的,因为for循环是一个框一个框的遍历计算,速度很慢,电脑计算量也没有上去。为了解决这个问题,我百度了很多次,摸索出了以下方法,用nn.Unfold 批量切片,再用矩阵计算所对应的33区域,最后用F.conv2d 指定卷积核二维卷积进行数据整合。大致思路就是这样。
torch.nn.Unfold和torch.nn.Fold
乐亦亦乐的博客
10-27 673
可以参考博文:pytorch中的torch.nn.Unfold和torch.nn.Fold_春笋的博客-CSDN博客_nn.unfoldpytorch中的torch.nn.Unfold和torch.nn.Fold目的Unfold目的平时使用卷积操作时,既卷积核滑动窗口操作,对于pytorch,以二维图像为例,调用nn.Conv2d就能完成对输入(feature maps)的卷积操作。但有时,maybe要探究卷积核对应的某一channel的单个窗口的卷积操作,或显式地进行卷积操作。此时,就需要nn....
F.unfold运行解析
qq_39861441的博客
07-06 2661
先上结论,unfold是先对第一通道展平,再对第二通道展平,依次叠加 import cv2 import numpy as np import torch import torch.nn.functional as F b=1 c=2 h=12 w=12 s=torch.arange(1,b*c*h*w+1).float() s=s.view(b,c,h,w) up_factor=2 kernel=3*up_factor t = F.unfold(s, kernel_size=(kernel, kern
Pytorch im2col (nn.Unfold) 将卷积运算转为矩阵相乘
hxxjxw的博客
04-04 3345
im2col是将一个[C,H,W]矩阵变成一个[H,W]矩阵的一个方法,其原理是利用了行列式进行等价转换。im2col原本是matlab中的一个操作 在Pytorch中可以用torch.unfold,torch.cat和torch.transpose的组合实现im2col操作. im2col:将卷积运算转为矩阵相乘 将卷积运算转化为矩阵乘法,从乘法和加法的运算次数上看,两者没什么差别,但是转化成矩阵后,运算时需要的数据被存在连续的内存上,这样访问速度大大提升(cache),同时,矩阵乘法有..
F.unfold张量计算
limtyty的博客
02-02 354
unfold函数的张量相关计算
torch.nn.Unfold直观理解
qq_39624083的博客
12-06 780
然后将在所有 3 个通道上得到的 3 个行向量,进行横向拼接,得到维度为 [1, 27] 的行向量。③ 依次将卷积核按照从左到右,从上往下的顺序,按照步长 1 进行滑动,每个滑动的区域经过步骤 ② 中处理后都能得到一个维度为 [1, 27] 的行向量,共得到 6 个维度为 [1, 27],然后纵向堆叠成维度为 [6, 27] 的矩阵。③ 对于在每个通道上分别得到的第一个滑窗区域,分别进行 reshape 成行向量,然后把在所有通道上得到的行向量,进行横向拼接,得到新的行向量。
直观理解 torch.nn.Unfold
blueblood7的专栏
10-15 921
torch.nn.Unfold 是把batch中的数据按 C、Kernel_W、Kernel_H 打包,详细解释参考: PyTorch中torch.nn.functional.unfold函数使用详解 本文主要是把 Unfold 返回的tensor的中间部分还原成 patches。 # -*- coding:utf-8 -*- import cv2 import torch import numpy as np img1 = cv2.imread('../128128/1.png') img2 =
torch.nn.unfold图像处理
09-06
torch.nn.Unfold是PyTorch中的一个函数,用于在图像处理中将输入的多通道图像转换为多个滑动窗口大小的图像块。它可以将输入图像按照指定的kernel_size和stride进行切分,并返回一个张量,其中每个元素都是一个图像...
写文章

热门文章

  • pytorch分布式训练 6448
  • Coco数据集中的rle格式处理 6045
  • pytorch图片分割原理 5593
  • register_backward_hook()和register_forward_hook() 4619
  • python中负数取余和取整 4316

分类专栏

  • pytorch扩展 1篇
  • CV笔记 62篇
  • c++笔记 3篇
  • NLP笔记 1篇

最新评论

  • torch.distributed补充

    destiny44123: 加req也不对,这里看上去对是因为你传输的tensor太小;本质上isend和irecv都是异步操作,接收端在访问前应调用wait方法。

  • pytorch分布式训练

    jxqbuct: isend得有返回值,然后wait就行了

  • pytorch自定义forward和backward函数

    xx_xjm: 不是吧,函数有几个输入,反传就应该有几个,输入等于自变量,求导等于求偏导吧!!

  • pytorch自定义forward和backward函数

    过◎往: 应该是前向return了几个参数 backward要对这几个参数求导吧

  • Coco数据集中的rle格式处理

    努力学习的双鱼: 你的demo显示也是0,哎

最新文章

  • __init__中的__getattr__方法
  • python协程asyncio的应用,async,await,loop
  • 可迭代对象,迭代器,生成器,协程
2024年2篇
2023年26篇
2022年61篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家奉贤区知名玻璃钢雕塑报价玻璃钢花盆订购门头玻璃钢雕塑定做兴城玻璃钢胸像雕塑武汉青岛玻璃钢人物雕塑大型玻璃钢雕塑张掖仿真人物玻璃钢雕塑哪家好临安区玻璃钢雕塑企业柳州卡通玻璃钢雕塑生产厂家门头玻璃钢雕塑定制汕尾玻璃钢人物浮雕雕塑费用成都玻璃钢卡通雕塑贵州玻璃钢雕塑市场报价河南玻璃钢雕塑加工厂家漯河玻璃钢卡通雕塑厂家定制韶关玻璃钢卡通雕塑阳江商场美陈卡通雕塑铜陵商场大厅美陈广东会发光的玻璃钢雕塑集宁玻璃钢雕塑平顶山商场橱窗美陈橱窗设计熊出没玻璃钢雕塑滁州大型玻璃钢雕塑销售厂家济宁清远玻璃钢切面动物雕塑西安户外玻璃钢雕塑设计青海仿铜西式玻璃钢雕塑玻璃钢雕塑租赁郑州山东通道商场美陈订购玻璃钢花盆养花怎么施肥广西户外景观玻璃钢雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化