pytorch函数unsqueeze函数的理解
在看许多pytorch的代码时,为了计算上的方便,通常会用到unsqueeze函数,一直不得要领,这次专门去做个实验学习一下。
官方文档对这个函数描述如下,就是在指定的位置插入一个维度,有两个参数,input是输入的tensor,dim是要插到的维度
需要注意的是dim的范围是[-input.dim()-1, input.dim()+1),是一个左闭右开的区间,当dim为负值时,会自动转换为dim = dim+input.dim()+1,类似于使用负数对python列表进行切片。
下面使用一个二维矩阵看下dim不同时呈现出的效果:
# 创建一个3*4的全1二维tensor
a = torch.ones(3,4)
'''
运行结果
tensor([[1., 1., 1., 1.],[1., 1., 1., 1.],[1., 1., 1., 1.]])
'''
在0维度上插入一个维度,可以看到现在a的形状变为[1, 3, 4],第0维度的大小默认是1
a = a.unsqueeze(0)
print(a.shape)
'''
运行结果
tensor([[[1., 1., 1., 1.],[1., 1., 1., 1.],[1., 1., 1., 1.]]])torch.Size([1, 3, 4])
'''
在最后一个维度上插入一个维度,形状变为[3, 4, 1]
a = a.unsqueeze(a.dim())
print(a.shape)
'''
运行结果
tensor([[[1.],[1.],[1.],[1.]],[[1.],[1.],[1.],[1.]],[[1.],[1.],[1.],[1.]]])torch.Size([3, 4, 1])
'''
pytorch函数unsqueeze函数的理解相关推荐
- pytorch中unsqueeze()函数理解
unsqueeze()函数起升维的作用,参数表示在哪个地方加一个维度. 在第一个维度(中括号)的每个元素加中括号 0表示在张量最外层加一个中括号变成第一维. 直接看例子: import torch i ...
- 【Pytorch】unsqueeze() 方法
文章目录 一.unsqueeze() 方法 二.实例 参考链接 一.unsqueeze() 方法 unsqueeze() 方法起升维的作用,参数表示在哪个地方加一个维度. 二.实例 import to ...
- Python-squeeze()、unsqueeze()函数的理解
目录 1. 降维torch.squeeze(input, dim=None, out=None) 简单示例 matplotlib画图示例 2.增维 torch.unsqueeze(input, dim ...
- python中squeeze函数_详解pytorch中squeeze()和unsqueeze()函数介绍
squeeze的用法主要就是对数据的维度进行压缩或者解压. 先看torch.squeeze() 这个函数主要对数据的维度进行压缩,去掉维数为1的的维度,比如是一行或者一列这种,一个一行三列(1,3)的 ...
- pytorch中repeat()函数理解
pytorch中repeat()函数理解 最近在学习过程中遇到了repeat()函数的使用,这里记录一下自己对这个函数的理解. 情况1:repeat参数个数与tensor维数一致时 a = torch ...
- pytorch 中 contiguous() 函数理解
pytorch 中 contiguous() 函数理解 文章目录 pytorch 中 contiguous() 函数理解 引言 使用 contiguous() 后记 文章抄自 Pytorch中cont ...
- pytorch 中 squeeze 和unsqueeze函数
1. torch.squeeze() 函数 : 作用:移除指定或所有维数为1的维度,从而得到维度减少的张量 解释一下: x=torch.zeros(5,1,1,1)print(x)'输出' tenso ...
- pytorch中tensor的unsqueeze()函数和squeeze()函数的用处
unsqueeze()用于增加一个维度. 先假设有如下一维的Tensor. a=torch.Tensor([1,2]) print(a.shape) 假设我们现在有一个2*2的矩阵b,要与a相乘,最规 ...
- pytorch中unsqueeze()和squeeze()函数
一.unsqueeze()函数 unsqueeze(arg)与squeeze(arg)作用相反,表示在第arg维增加一个维度值为1的维度. 1. 首先初始化一个a 可以看出a的维度为(2,3) 2. ...
最新文章
- Exchange 2013学习(二),关于约会、会议和事件
- BeanFactory笔记
- u盘安装linux双系统6,用U盘安装Centos6.5 + Win7 双系统
- 进制转换,字符串,字节串之间转换
- CentOS 7 : Docker私有仓库搭建和使用
- linux 磁盘分区对齐,linux查看硬盘4K对齐方法
- c语言案例游戏,C语言实现五子棋游戏的案例
- centos7 docker安装_Centos7 安装 Docker
- JS使用闭包保护变量,防止污染
- 基于ssh的多节点之间互信通信的实现
- 如何用 Python 拆分表格并发送邮件?
- 说说从URL输入到页面展现的过程
- liunx安装Lamp
- Django中ORM常用字段及字段参数
- C# 实现国密SM4加解密封装
- Word2Vec模型训练简洁步骤
- C语言 商业贷款计算器 等额本金 等额本息
- 多商户商城系统功能拆解14讲-平台端会员等级
- 开发人员和产品人员对接需求总结
- nds linux模拟器下载,NDS模拟器