Pytorch中expand()的使用(扩展某个维度)


Posted in Python onJuly 15, 2022

Pytorch expand()的使用

有两点需要注意,无论是 expand() 还是 expand_as():

1.只能在第0维扩展一个维数,比如原来是是(1,3,4)==》(2,1,3,4),而在其他维度扩展不可以(1,3,4)==》(1,2,3,4)【错误】

2.如果不增加维数,只是增加维度,要增加的原维度必须是1才可以在该维度增加维度,其他值均不可以

import torch
#1
x = torch.randn(2, 1, 1)#为1可以扩展为3和4
x = x.expand(2, 3, 4)
print('x :', x.size())
>>> x : torch.Size([2, 3, 4])
#2
#扩展一个新的维度必须在最前面,否则会报错
x = x.expand(2, 3, 4, 6)
>>> RuntimeError: The expanded size of the tensor (3) must match the existing size (2) at non-singleton dimension 1.
x = x.expand(6, 2, 3, 4)
>>> x : torch.Size([6, 2, 3, 4])
#3
#某一个维度为-1表示不改变该维度的大小
x = x.expand(6, -1, -1, -1)
>>> x : torch.Size([6, 2, 1, 1])
import torch
#1
x = torch.randn(2, 1, 1)#原维度为1可以扩展为其他维度
y = torch.randn(2, 3, 3)
x = x.expand_as(y)
print('x :', x.size())
>>> x : torch.Size([2, 3, 3])
#2
x = torch.randn(2, 2, 2)#原维度为其他不是1的值不可以扩展为其他维度
y = torch.randn(2, 3, 4)
x = x.expand_as(y)
print('x :', x.size())
>>> RuntimeError: The expanded size of the tensor (4) must match the existing size (2) at non-singleton dimension 2.  Target sizes: [2, 3, 4].

Pytorch expand()函数

返回tensor的一个新视图

单个维度扩大为更大的尺寸。

tensor也可以扩大为更高维,新增加的维度将附在前面。

扩大tensor不需要分配新内存,只是仅仅新建一个tensor的视图,其中通过将stride设为0,一维将会扩展位更高维。

任何一个一维的在不分配新内存情况下可扩展为任意的数值。

Pytorch中expand()的使用(扩展某个维度)

note:使用expand()函数的时候

x自身不会改变,因此需要将结果重新赋值。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
实践Vim配置python开发环境
Jul 02 Python
NLTK 3.2.4 环境搭建教程
Sep 19 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
Aug 09 Python
python3 实现的对象与json相互转换操作示例
Aug 17 Python
Win10下python 2.7与python 3.7双环境安装教程图解
Oct 12 Python
使用python快速在局域网内搭建http传输文件服务的方法
Nov 14 Python
Jupyter Notebook远程登录及密码设置操作
Apr 10 Python
python是怎么被发明的
Jun 15 Python
python能在浏览器能运行吗
Jun 17 Python
python 调整图片亮度的示例
Dec 03 Python
Python 用__new__方法实现单例的操作
Dec 11 Python
Python中的matplotlib绘制百分比堆叠柱状图,并为每一个类别设置不同的填充图案
Apr 20 Python
Python实现聚类K-means算法详解
Jul 15 #Python
python自动获取微信公众号最新文章的实现代码
Jul 15 #Python
pytorch实现加载保存查看checkpoint文件
Jul 15 #Python
pytest实现多进程与多线程运行超好用的插件
Jul 15 #Python
python如何将mat文件转为png
Jul 15 #Python
python读取mat文件生成h5文件的实现
Jul 15 #Python
全网非常详细的pytest配置文件
Jul 15 #Python
You might like
全国FM电台频率大全 - 24 贵州省
2020/03/11 无线电
如何在PHP中使用Oracle数据库(4)
2006/10/09 PHP
基于Snoopy的PHP近似完美获取网站编码的代码
2011/10/23 PHP
thinkPHP3.x常量整理(预定义常量/路径常量/系统常量)
2016/05/20 PHP
PHP7.1新功能之Nullable Type用法分析
2016/09/26 PHP
PHP简单数据库操作类实例【支持增删改查及链式操作】
2016/10/10 PHP
Laravel开启跨域请求的方法
2019/10/13 PHP
JavaScript判断两种格式的输入日期的正确性的代码
2007/03/25 Javascript
网页自动刷新,不产生嗒嗒声的一个解决方法
2007/03/27 Javascript
关于javascript中的parseInt使用技巧
2009/09/03 Javascript
jquery text()要注意啦
2009/10/30 Javascript
无阻塞加载脚本分析[全]
2011/01/20 Javascript
ie8 不支持new Date(2012-11-10)问题的解决方法
2013/07/31 Javascript
js借助ActiveXObject实现创建文件
2013/09/29 Javascript
jQuery中attr()方法用法实例
2015/01/05 Javascript
javascript解决IE6下hover问题的方法
2015/07/28 Javascript
Vue原理剖析 实现双向绑定MVVM
2017/05/03 Javascript
解决echarts图表使用v-show控制图表显示不全的问题
2020/07/19 Javascript
全面解析Python的While循环语句的使用方法
2015/10/13 Python
Python字符串格式化的方法(两种)
2017/09/19 Python
Python三种遍历文件目录的方法实例代码
2018/01/19 Python
在Python中使用gRPC的方法示例
2018/08/08 Python
Pandas GroupBy对象 索引与迭代方法
2018/11/16 Python
Django学习之文件上传与下载
2019/10/06 Python
详解PyQt5信号与槽的几种高级玩法
2020/03/24 Python
Python叠加矩形框图层2种方法及效果
2020/06/18 Python
俄罗斯最大的香水和化妆品网上商店:Randewoo
2020/11/05 全球购物
小学三年级数学教学反思
2014/01/31 职场文书
保密普查工作实施方案
2014/02/25 职场文书
婚礼司仪主持词
2014/03/14 职场文书
比赛口号霸气押韵
2015/12/24 职场文书
致创业您:正能量激励人心句子(48条)
2019/08/15 职场文书
《成长的天空》读后感3篇
2019/12/06 职场文书
Python 如何利用ffmpeg 处理视频素材
2021/11/27 Python
Java异常处理try catch的基本用法
2021/12/06 Java/Android
Java设计模式之享元模式示例详解
2022/03/03 Java/Android