Pytorch 扩展Tensor维度、压缩Tensor维度的方法


Posted in Python onSeptember 09, 2020

1. 扩展Tensor维度

相信刚接触Pytorch的宝宝们,会遇到这样一个问题,输入的数据维度和实验需要维度不一致,输入的可能是2维数据或3维数据,实验需要用到3维或4维数据,那么我们需要扩展这个维度。其实特别简单,只要对数据加一个扩展维度方法就可以了。

1.1torch.unsqueeze(self: Tensor, dim: _int)

torch.unsqueeze(self: Tensor, dim: _int)

参数说明:self:输入的tensor数据,dim:要对哪个维度扩展就输入那个维度的整数,可以输入0,1,2……

1.2Code

第一种方式,输入数据后直接加unsqueeze()

扩展第一维和第二维为1

import torch


def reset_unsqueeze1():
 data = torch.rand([3, 3])
 data1 = data.unsqueeze(dim=0).unsqueeze(dim=1)
 print("data_size: ", data.shape)
 print("data: ", data)
 print("data1_size: ", data1.shape)
 print("data1: ", data1)

结果显示

Pytorch 扩展Tensor维度、压缩Tensor维度的方法

第二种方式,用torch.unsqueeze()

import torch


def reset_unsqueeze2():
 data = torch.rand([3, 3])
 data1 = torch.unsqueeze(data, dim=0)
 print("data_size: ", data.shape)
 print("data: ", data)
 print("data1_size: ", data1.shape)
 print("data1: ", data1)

结果显示

Pytorch 扩展Tensor维度、压缩Tensor维度的方法

2. 压缩Tensor维度

2.1torch.squeeze(self: Tensor, dim: _int)

这个方法刚好和torch.unsqueeze()方法效果相反,压缩Tensor维度。

2.2 Code

第一种方式,输入数据后直接加squeeze()

import torch


def reset_squeeze1():
 data = torch.rand([1, 1, 3, 3])
 data1 = data.squeeze(dim=0).squeeze(dim=1)
 print("data_size: ", data.shape)
 print("data: ", data)
 print("data1_size: ", data1.shape)
 print("data1: ", data1)

结果显示

Pytorch 扩展Tensor维度、压缩Tensor维度的方法

第二种方式,用torch.squeeze()

import torch


def reset_squeeze2():
 data = torch.rand([1, 1, 3, 3])
 data1 = torch.squeeze(data, dim=0)
 print("data_size: ", data.shape)
 print("data: ", data)
 print("data1_size: ", data1.shape)
 print("data1: ", data1)

结果显示

Pytorch 扩展Tensor维度、压缩Tensor维度的方法

到此这篇关于Pytorch 扩展Tensor维度、压缩Tensor维度的方法的文章就介绍到这了,更多相关Pytorch 扩展Tensor维度、压缩Tensor维度内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python字符串切片操作知识详解
Mar 28 Python
听歌识曲--用python实现一个音乐检索器的功能
Nov 15 Python
python编程嵌套函数实例代码
Feb 11 Python
python实现最长公共子序列
May 22 Python
在python中利用KNN实现对iris进行分类的方法
Dec 11 Python
Python魔法方法详解
Feb 13 Python
Python实现把多维数组展开成DataFrame
Nov 30 Python
Python嵌套函数,作用域与偏函数用法实例分析
Dec 26 Python
浅析Python 条件控制语句
Jul 15 Python
Pycharm如何自动生成头文件注释
Nov 14 Python
python如何构建mock接口服务
Jan 28 Python
python 安全地删除列表元素的方法
Mar 16 Python
Python列表推导式实现代码实例
Sep 09 #Python
利用Python中的Xpath实现一个在线汇率转换器
Sep 09 #Python
pytorch使用horovod多gpu训练的实现
Sep 09 #Python
python,Java,JavaScript实现indexOf
Sep 09 #Python
python 5个顶级异步框架推荐
Sep 09 #Python
python PyAUtoGUI库实现自动化控制鼠标键盘
Sep 09 #Python
Pytorch生成随机数Tensor的方法汇总
Sep 09 #Python
You might like
什么是MVC,好东西啊
2007/05/03 PHP
php的ddos攻击解决方法
2015/01/08 PHP
php相对当前文件include其它文件的方法
2015/03/13 PHP
Joomla简单判断用户是否登录的方法
2016/05/04 PHP
PHP+MySQL实现输入页码跳转到指定页面功能示例
2018/06/01 PHP
javascript算法学习(直接插入排序)
2011/04/12 Javascript
JavaScript中__proto__与prototype的关系深入理解
2012/12/04 Javascript
用jquery实现动画跳到顶部和底部(这个比较简单)
2014/09/01 Javascript
jQuery中change事件用法实例
2014/12/26 Javascript
JavaScript中Boolean对象的属性解析
2015/10/21 Javascript
跟我学习javascript的undefined与null
2015/11/17 Javascript
jQuery Dialog对话框事件用法实例分析
2016/05/10 Javascript
jQuery实用密码强度检测
2017/03/02 Javascript
使用canvas及js简单生成验证码方法
2017/04/02 Javascript
vue插件vue-resource的使用笔记(小结)
2017/08/04 Javascript
Vue 路由切换时页面内容没有重新加载的解决方法
2018/09/01 Javascript
JavaScript常见事件处理程序实例总结
2019/01/05 Javascript
JQueryDOM之样式操作
2019/03/27 jQuery
详解mpvue中使用vant时需要注意的onChange事件的坑
2019/05/16 Javascript
[05:09]DOTA2-DPC中国联赛2月22日Recap集锦
2021/03/11 DOTA
用Python编写web API的教程
2015/04/30 Python
python http接口自动化脚本详解
2018/01/02 Python
python 将print输出的内容保存到txt文件中
2018/07/17 Python
浅析python的优势和不足之处
2018/11/20 Python
python pands实现execl转csv 并修改csv指定列的方法
2018/12/12 Python
Python玩转Excel的读写改实例
2019/02/22 Python
Python使用pycharm导入pymysql教程
2020/09/16 Python
HTML5 CSS3打造相册效果附源码下载
2014/06/16 HTML / CSS
《最大的麦穗》教学反思
2014/04/17 职场文书
委托书如何写
2014/08/30 职场文书
责任书范本大全
2015/05/11 职场文书
常住证明范本
2015/06/23 职场文书
财务管理制度范本
2015/08/04 职场文书
《初涉尘世》读后感3篇
2020/01/10 职场文书
TensorFlow中tf.batch_matmul()的用法
2021/06/02 Python
解析MySQL binlog
2021/06/11 MySQL