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 相关文章推荐
Python入门篇之面向对象
Oct 20 Python
Python随机生成一个6位的验证码代码分享
Mar 24 Python
python访问类中docstring注释的实现方法
May 04 Python
Python计算字符宽度的方法
Jun 14 Python
Python实现字符串与数组相互转换功能示例
Sep 22 Python
Python3 导入上级目录中的模块实例
Feb 16 Python
python二进制文件的转译详解
Jul 03 Python
详解python中自定义超时异常的几种方法
Jul 29 Python
如何解决django-celery启动后迅速关闭
Oct 16 Python
wxPython实现整点报时
Nov 18 Python
探秘TensorFlow 和 NumPy 的 Broadcasting 机制
Mar 13 Python
Python基础之元类详解
Apr 29 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
QueryPath PHP 中的jQuery
2010/04/11 PHP
javascript 窗口加载蒙板 内嵌网页内容
2010/11/19 Javascript
解析jQuery与其它js(Prototype)库兼容共存
2013/07/04 Javascript
JS实现多物体缓冲运动实例代码
2013/11/29 Javascript
js的正则test,match,exec详细解析
2014/01/29 Javascript
原生javascript实现拖动元素示例代码
2014/09/01 Javascript
jsMind通过鼠标拖拽的方式调整节点位置
2015/04/13 Javascript
js实现仿MSN带关闭功能的右下角弹窗代码
2015/09/04 Javascript
jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
2015/12/12 Javascript
利用Jquery队列实现根据输入数量显示的动画
2016/09/01 Javascript
jQuery实现的小图列表,大图展示效果幻灯片示例
2016/10/25 Javascript
浅谈Angular 中何时取消订阅
2017/11/22 Javascript
JavaScript如何对图片进行黑白化
2018/04/10 Javascript
jQuery中$原理实例分析
2018/08/13 jQuery
微信小程序自定义select下拉选项框组件的实现代码
2018/08/28 Javascript
JavaScript实现随机点名器
2020/03/25 Javascript
教你安装python Django(图文)
2013/11/04 Python
详解Python操作RabbitMQ服务器消息队列的远程结果返回
2016/06/30 Python
Python数据结构与算法之图结构(Graph)实例分析
2017/09/05 Python
Django使用Mysql数据库已经存在的数据表方法
2018/05/27 Python
python批量创建指定名称的文件夹
2019/03/21 Python
python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)
2019/05/30 Python
PyTorch和Keras计算模型参数的例子
2020/01/02 Python
python中前缀运算符 *和 **的用法示例详解
2020/05/28 Python
python 如何读、写、解析CSV文件
2021/03/03 Python
Stefania Mode美国:奢华设计师和时尚服装
2018/01/07 全球购物
美国室内和室外装饰花盆购物网站:ePlanters
2019/03/22 全球购物
莫斯科制造商的廉价皮大衣:Fursk
2020/06/09 全球购物
会计学个人自荐信模板
2013/12/13 职场文书
机械制造专业毕业生求职信
2014/03/02 职场文书
商铺租赁意向书
2014/04/01 职场文书
工作分析计划书
2014/04/30 职场文书
银行业务授权委托书
2014/10/10 职场文书
2014年科普工作总结
2014/12/06 职场文书
主持人开幕词
2015/01/29 职场文书
Python使用Beautiful Soup(BS4)库解析HTML和XML
2022/06/05 Python