Pytorch nn.functional.unfold()的简单理解与用法
unfold的作用就是手动实现(卷积中)的滑动窗口操作,也就是只有卷,没有积
ret = F.unfold(inp, size)
- inp:输入Tensor,必须是四维的(B, C, H, W)
- size:元组,表示滑动窗口大小
- ret:输出三维Tensor(a, b, c),a表示输入的batch数,b表示滑动窗口的大小,c表示滑动窗口滑动的次数
例如,对于一张1×1×5×5的如下特征图:
[[[[ 1, 2, 3, 4, 5],[ 6, 7, 8, 9, 10],[ 11, 12, 13, 14, 15],[ 16, 17, 18, 19, 20],[ 21, 22, 23, 24, 25]]]]
对其进行2×2的滑动窗口操作,过程是这样的:
1 2 -> 2 3 -> 3 4
6 7 7 8 8 9 ...
编写代码如下:
import torch
from torch.nn import functional as F x = torch.Tensor([[[[ 1, 2, 3, 4, 5],[ 6, 7, 8, 9, 10],[ 11, 12, 13, 14, 15],[ 16, 17, 18, 19, 20],[ 21, 22, 23, 24, 25]]]])
x = F.unfold(x, (2, 2))
print(x)
print(x.size())
输出如下:
tensor([[[ 1, 2, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14, 16, 17, 18, 19],[ 2, 3, 4, 5, 7, 8, 9, 10, 12, 13, 14, 15, 17, 18, 19, 20],[ 6, 7, 8, 9, 11, 12, 13, 14, 16, 17, 18, 19, 21, 22, 23, 24],[ 7, 8, 9, 10, 12, 13, 14, 15, 17, 18, 19, 20, 22, 23, 24, 25]]])
torch.Size([1, 4, 16])
行数为4,即对应着2×2的滑动窗口大小;而每一列的元素为滑动窗口依次所覆盖的内容,一共滑动了16次,因此有16列。
Pytorch nn.functional.unfold()的简单理解与用法相关推荐
- Pytorch Tensor.unfold()的简单理解与用法
unfold的作用就是手动实现的滑动窗口操作,也就是只有卷,没有积:不过相比于nn.functional中的unfold而言,其窗口的意味更浓,只能是一维的,也就是不存在类似2×2窗口的说法. ret ...
- Pytorch nn.functional.pad()的简单用法
官方文档:https://pytorch-cn.readthedocs.io/zh/latest/package_references/functional/ 作用:进行填充,类似卷积里的paddin ...
- 【Pytorch 】nn.functional.unfold()==>卷积操作中的提取kernel filter对应的滑动窗口
使用方法: def unfold(input, kernel_size, dilation=1, padding=0, stride=1):"""input: tenso ...
- torch.nn.functional.unfold 用法解读
torch.nn.Unfold(kernel_size, dilation=1, padding=0, stride=1) 参数 kernel_size,滑动窗口的大小 dilation,和空洞卷积中 ...
- Pytorch nn.Fold()的简单理解与用法
官方文档:https://pytorch.org/docs/stable/generated/torch.nn.Fold.html 这个东西基本上就是绑定Unfold使用的.实际上,在没有overla ...
- Pytorch nn.BCEWithLogitsLoss()的简单理解与用法
这个东西,本质上和nn.BCELoss()没有区别,只是在BCELoss上加了个logits函数(也就是sigmoid函数),例子如下: import torch import torch.nn as ...
- Pytorch forward()的简单理解与用法
1.基本用法 在pytorch中,使用torch.nn包来构建神经网络,我们定义的网络继承自nn.Module类.而一个nn.Module包含神经网络的各个层(放在__init__里面)和前向传播方式 ...
- Pytorch Dataset、Dataloader的简单理解与使用
本文以torch.utils.data中的Dataset类为例进行说明 Dataset的作用是构建自定义的数据集,以方便使用Dataloader进行加载 语法 我们自定义的数据集需要继承自torch. ...
- torch.functional.unfold
unfold其实功能很简单就是在N*C*H*W的H*W平面上取块,然后堆叠,主要用于CV中的patch提取. fold的功能与unfold相反,但块重叠部分是相加处理的,因此需要除以重叠次数. imp ...
最新文章
- 数据库查询性能优化之利器—索引(二)
- Eclipse中导入外部jar包
- websocket 获取连接id_nodejs做后端,用websocket写聊天室,怎么获取连接用户的ip呢?...
- 支持国产处理器仿真的全数字实时仿真平台SkyEye与可信编译器L2C的核心翻译步骤
- 95-860-050-源码-定时器-InternalTimeServiceManager
- Python爬虫之一键保存全部必应高清1080P壁纸
- 手动写一个上传图片的组件,不适用插件,包括限制图片大小,格式
- Atitit 搜索工程师的知识点体系总结 目录 1.1. 理论类 索引 与查询	1 1.2. 类库类	1 1.3. 关联知识类	1 1.4. 其他	1 2. Ref	2 2.1. Atitit 文
- VMware虚拟机安装win10 32位
- WindowsXP音量控制程序的安装
- WIN7中如何卸载IE8或IE9
- jQuery学习笔记(三)jQuery动画效果
- 在SQuAD2.0榜单上出现过的部分模型详解StructBert,T5,RoBERTa,RetroReader,ALBert
- 企立方-拼多多采集注意的点有哪些
- Variant数据类型
- postman接口自动化图文案例介绍
- python3新式类_Python中新式类与经典类的区别详析
- java抽象类计算正方体面积_怎么用java里抽象类的方式计算相应形状的面积
- Sentinel demo
- 算法流程图组件的基本含义及画法举例(Kmeans)
热门文章
- python写xml文件_python写入xml文件的方法
- android jar包冲突_用好这几个技巧,解决Maven Jar包冲突易如反掌
- php-fpm nginx 关系,nginx 和php-fpm关系
- iis7mysql 链接不上_Win7 64位IIS7出现数据库链接出错的解决办法
- 让电脑代码满屏飞_程序员想让你的电脑死机,需要多久?
- 1007 素数对猜想(C语言)
- CS231n——编程作业环境配置
- Eclipse中好用的快捷键
- Python Tkinter之variable用法
- 【日期类问题】例2.1日期差值