import torcha=torch.tensor([[3.0000, 3.0000],[3.0000, 4.0000],[3.6000, 3.0000],[3.5000, 3.0000]])
个人以为这个unsqueeze方法有点废话,完全可以用reshape 实现,鸡肋!

a.reshape([a.shape[0],1,a.shape[1]])==a.unsqueeze(1)a.reshape([1,a.shape[0],1,a.shape[1]])==a.unsqueeze(0)a.reshape([a.shape[0],a.shape[1] ,1])==a.unsqueeze(2)
a.reshape([a.shape[0],1,a.shape[1]])==a.unsqueeze(1)
'''0
m ,n------> 1,m,n1
m ,n------> m,1,n2
m ,n------> m,n,2k
m ,.....,n------> m,...,k,k+1,n
'''
print('a=',a)
print('a.shape=',a.shape)
print('-'*30+'分割线'+'-'*30)print('a.unsqueeze(0).shape=',a.unsqueeze(0).shape)print('a.unsqueeze(0)=',a.unsqueeze(0))print('-'*30+'分割线'+'-'*30)print('a.unsqueeze(1).shape=',a.unsqueeze(1).shape)print('a.unsqueeze(1)=',a.unsqueeze(1))print('-'*30+'分割线'+'-'*30)print('a.unsqueeze(2).shape=',a.unsqueeze(2).shape)print('a.unsqueeze(2)=',a.unsqueeze(2))
在这里是一个二位矩阵 可以在[0,1,2]三个维度上
a= tensor([[3.0000, 3.0000],[3.0000, 4.0000],[3.6000, 3.0000],[3.5000, 3.0000]])
a.shape= torch.Size([4, 2])
------------------------------分割线------------------------------
a.unsqueeze(0).shape= torch.Size([1, 4, 2])
a.unsqueeze(0)= tensor([[[3.0000, 3.0000],[3.0000, 4.0000],[3.6000, 3.0000],[3.5000, 3.0000]]])
------------------------------分割线------------------------------
a.unsqueeze(1).shape= torch.Size([4, 1, 2])
a.unsqueeze(1)= tensor([[[3.0000, 3.0000]],[[3.0000, 4.0000]],[[3.6000, 3.0000]],[[3.5000, 3.0000]]])
------------------------------分割线------------------------------
a.unsqueeze(2).shape= torch.Size([4, 2, 1])
a.unsqueeze(2)= tensor([[[3.0000],[3.0000]],[[3.0000],[4.0000]],[[3.6000],[3.0000]],[[3.5000],[3.0000]]])
一个是顺序,一个逆序,形成一个闭环
'''
-3 -2 -1
0   1  2
'''
print('a.unsqueeze(-3)==a.unsqueeze(0)',a.unsqueeze(-3)==a.unsqueeze(0))print('a.unsqueeze(-2)==a.unsqueeze(1)',a.unsqueeze(-2)==a.unsqueeze(1))print('a.unsqueeze(-1)==a.unsqueeze(2)',a.unsqueeze(-1)==a.unsqueeze(2))
a.unsqueeze(-3)==a.unsqueeze(0) tensor([[[True, True],[True, True],[True, True],[True, True]]])
a.unsqueeze(-2)==a.unsqueeze(1) tensor([[[True, True]],[[True, True]],[[True, True]],[[True, True]]])
a.unsqueeze(-1)==a.unsqueeze(2) tensor([[[True],[True]],[[True],[True]],[[True],[True]],[[True],[True]]])

torch 的 unsqueeze用法相关推荐

  1. conv2d的输入_pytorch1.0中torch.nn.Conv2d用法详解

    Conv2d的简单使用 torch 包 nn 中 Conv2d 的用法与 tensorflow 中类似,但不完全一样. 在 torch 中,Conv2d 有几个基本的参数,分别是 in_channel ...

  2. torch.rand、torch.randn及torch.normal的用法

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 torch.rand.torch.randn及torch.normal的用法 一.torch.rand 二.torch.randn 三 ...

  3. torch.sequeeze 和 torch.unsequeeze 的用法

    torch.sequeeze 对维度进行压缩,以下为示例: import torcha = torch.zeros(2, 6, 1, 3, 1) # torch.Size([2, 6, 1, 3, 1 ...

  4. pytorch中的torch.tensor.repeat以及torch.tensor.expand用法

    文章目录 torch.tensor.expand torch.tensor.repeat torch.tensor.expand 先看招 import torch x = torch.tensor([ ...

  5. torch.nn.Conv2d() 用法讲解

    本文是深度学习框架 pytorch 的API : torch.nn.Conv2d() 函数的用法.本博客介绍了 torch.nn.Conv2d() 各个参数的含义和用法,学会使用 pytorch 创建 ...

  6. torch.roll() 函数用法

    Pytorch 官方文档:https://pytorch.org/docs/master/generated/torch.roll.htmlhttps://pytorch.org/docs/maste ...

  7. torch.where()的用法以及例子

    1.用法 torch.where()函数的作用是按照一定的规则合并两个tensor类型. torch.where(condition,a,b)其中 输入参数condition:条件限制,如果满足条件, ...

  8. pytorch torch.sort()的用法以及例子

    1.作用 对tensor中元素排序 2.用法 dim = -1,按照行排序,dim= 1按照列排序,descending=True,则递减排序,否则递增 3.例子 按照行排序 logits = tor ...

  9. PyTorch torch.Tensor.contiguous() 用法与理解

    中文文档: contiguous() → Tensor         返回一个内存连续的有相同数据的 tensor,如果原 tensor 内存连续则返回原 tensor 英文文档: contiguo ...

最新文章

  1. 类、抽象类、接口之间的区别
  2. 2015年美军将具备60分钟内打击全球目标能力(图)
  3. CSS3秘笈第三版涵盖HTML5学习笔记13~17章
  4. Spring源码窥探之:xxxAware接口
  5. Keras学习代码—github官网examples
  6. rhel5 给grub 加密,亲测!
  7. 批量读写变换图片(转)
  8. fabric-ca 登记身份时报Error: Response from server: Error Code: 20 - Authentication failure
  9. Web网站压力测试工具
  10. bzoj2208: [Jsoi2010]连通数
  11. 毕业生推荐表计算机水平新国二,实用信息 | 2018届毕业指南:毕业生推荐表与三方协议...
  12. android助手专业版,安卓助手-安卓助手app专业版下载-安卓助手付费版-电玩咖
  13. Java函数式编程(一)–Function的使用
  14. 数学建模之常见的优化模型
  15. 生成树模型 matlab,最小生成树matlab
  16. JDK安装 Java环境配置
  17. 一致性算法 - Distro协议在Nacos的实践
  18. uushare.com(原uubox.net)的功能简介
  19. 一款可自定义自动字典生成器---火花
  20. C# 输入一个正整数N,判断N是奇数还是偶数,输出1~N的奇数和或是偶数和,三种不同方法分别实现

热门文章

  1. 基于element-ui实现table可配置化
  2. 虚拟化方面包含了主机、存储和网络
  3. 【FTP】java FTPClient 文件上传内容为空,文件大小为0
  4. 《C++入门经典(第6版)》——1.3 创建您的第一个程序
  5. 你还以为,除了你自己就没有人懂你女朋友吗?
  6. 怎样在Github参与一个开源项目
  7. postman-持续更新
  8. 第三十八讲:tapestry Ajax 关联下拉选框(select)组件
  9. Grub2倒计时失效
  10. 请教于国富律师——怎样把灰鸽子病毒和灰鸽子程序区分开