文章目录

  • torch.transpose
    • 对于高维度张量
  • torch.t
    • 例程
Function Description Detail
transpose Returns a tensor that is a transposed version of input. 多维张量转置
t Expects input to be <= 2-D tensor and transposes dimensions 0 and 1. 1、2维张量转置
swapaxes Alias for torch.transpose(). 和 transpose 功能一致
swapdims Alias for torch.transpose(). 和 transpose 功能一致

torch.transpose

我们有时候会遇到这样的问题,某个时刻我们希望把某个张量从横向量,转置成纵向量。因为对于线性代数来说,矩阵的基本计算法则告诉我们,两个矩阵叉乘必须满足 [l×m]×[m×n][l \times m] \times [m \times n][l×m]×[m×n] 才可以进行计算。但有时候我们为了方便会创建出两个这样维度的矩阵 [m×l][m \times l][m×l] 和 [m×n][m \times n][m×n],为了执行叉乘,必须要对第一个矩阵进行转置。

如果直接用 reshape 或者 view 命令,虽然改变了维度,但是没有改变底层的数据顺序,一样得不到正确的结果。

>>> tensor = torch.tensor([1, 2, 3, 4, 5, 6, 7, 8, 9, 0]).view(2, -1)
>>> tensor
tensor([[1, 2, 3, 4, 5],[6, 7, 8, 9, 0]])
>>> tensor.reshape(-1, 2)
tensor([[1, 2],[3, 4],[5, 6],[7, 8],[9, 0]])

对于上面这个例子,我们实际上希望输出的是

tensor([[1, 6],[2, 7],[3, 8],[4, 9],[5, 0]])

所以这个时候就需要转置函数,其函数原型为

    torch.transpose(input, dim0, dim1) -> Tensor

这个函数表示张量的某两维度之间进行转置,对于上面这个例子来说即:

>>> tensor = torch.transpose(tensor, dim0=0, dim1=1)
tensor([[1, 6],[2, 7],[3, 8],[4, 9],[5, 0]])

对于高维度张量

高维度张量也存在需要转置的情况,由于transpose不指定具体哪两个维转置,所以相对来说对使用者要方便很多。

>>> tensor = torch.randn(1, 2, 3)
>>> tensor  # shape of tensor is [1, 2, 3]
tensor([[[ 0.1264, -0.7503,  0.5522],[ 0.0680,  1.0128,  0.1585]]])>>> tensor = torch.transpose(tensor, dim0=1, dim1=2)
>>> tensor  # shape of tensor is [1, 3, 2]
tensor([[[ 0.1264,  0.0680],[-0.7503,  1.0128],[ 0.5522,  0.1585]]])>>> tensor = torch.transpose(tensor, dim0=0, dim1=2)
>>> tensor  # shape of tensor is [2, 3, 1]
tensor([[[ 0.1264],[-0.7503],[ 0.5522]],[[ 0.0680],[ 1.0128],[ 0.1585]]])

torch.t

根据描述,这个函数仅能用于小于或等于二维的张量转置

torch.t(input) → Tensor

例程

>>> x = torch.randn(3)
>>> x
tensor([ 2.4320, -0.4608,  0.7702])
>>> torch.t(x)
tensor([ 2.4320, -0.4608,  0.7702])
>>> x = torch.randn(2, 3)
>>> x
tensor([[ 0.4875,  0.9158, -0.5872],[ 0.3938, -0.6929,  0.6932]])
>>> torch.t(x)
tensor([[ 0.4875,  0.3938],[ 0.9158, -0.6929],[-0.5872,  0.6932]])

Pytorch基础操作 —— 8. 张量转置操作相关推荐

  1. pytorch基础一:张量

    简单记录以便查阅 张量 一.创建张量 x = torch.empty(5,3) # 创建未初始化矩阵张量 x = torch.rand(5,3) # 创建初始化随机矩阵张量 x = torch.zer ...

  2. PyTorch框架学习三——张量操作

    PyTorch框架学习三--张量操作 一.拼接 1.torch.cat() 2.torch.stack() 二.切分 1.torch.chunk() 2.torch.split() 三.索引 1.to ...

  3. Pytorch基础操作 —— 6. 如何使用自定义数据集

    文章目录 自定义数据集 Step 1. 熟悉你的数据集 有数据就要有标签 数据大小.维度一定要一样 归一化 Step 2. 确定如何加载你的数据集 使用 DataLoader 批量加载数据 需要注意的 ...

  4. Pytorch ——基础指北_肆 [构建数据集与操作数据集]

    Pytorch --基础指北_肆 系列文章目录 Pytorch --基础指北_零 Pytorch --基础指北_壹 Pytorch --基础指北_贰 Pytorch --基础指北_叁 文章目录 Pyt ...

  5. 02.PyTorch基础操作(3-1 机器学习中的分类与回归问题-机器学习基本构成元素)

    @[TOC](02.PyTorch基础操作(3-1 机器学习中的分类与回归问题-机器学习基本构成元素)) 来自慕课网 一.3-1 机器学习中的分类与回归问题-机器学习基本构成元素

  6. PyTorch基础(一)-----张量(Tensor)

    前言 很多人都会拿PyTorch和Google的Tensorflow进行比较,这个肯定是没有问题的,因为他们是最火的两个深度学习框架了.但是说到PyTorch,其实应该先说Torch. 什么是Torc ...

  7. 【深度之眼PyTorch框架班第五期】作业打卡01:PyTorch简介及环境配置;PyTorch基础数据结构——张量

    文章目录 任务名称 任务简介 详细说明 作业 1. 安装anaconda,pycharm, CUDA+CuDNN(可选),虚拟环境,pytorch,并实现hello pytorch查看pytorch的 ...

  8. 深度学习(14)TensorFlow高阶操作三: 张量排序

    深度学习(14)TensorFlow高阶操作三: 张量排序 一. Sort, argsort 1. 一维Tensor 2. 多维Tensor 二. Top_k 三. Top-k accuracy(To ...

  9. html表格联动,html前端基础:table和select操作

    html前端基础:table和select操作 发布时间:2020-05-13 09:58:10 来源:亿速云 阅读:196 作者:Leah 这篇文章主要为大家详细介绍html前端基础中有关table ...

最新文章

  1. sql的使用详解(针对oeacle)之select(上)
  2. 【采用】互联网反欺诈体系建设
  3. Eclipse工作常见问题总结
  4. 选择题微型计算机系统包括,全国计算机一级选择题专项训练及答案2016
  5. 启动tomcat不出现命令窗口
  6. 平安证券:维持超图软件“强烈推荐”评级
  7. 2018年9月8日 笔试小结
  8. CSS | 使用 PostCSS 插件让 Web 应用支持暗黑模式
  9. 前端事件练习之轮播图代码
  10. 会声会影x4素材_怎么给视频打马赛克?运用会声会影2019
  11. python 经验模态分解_心电信号去噪4--经验模态分解法(EMD)
  12. MOOC北京理工《C语言程序设计(上)》第5周第3题:求最小m值
  13. hdu_1429 胜利大逃亡(续)
  14. Summary:Fater Rcnn
  15. MicroSoft Visual Studio 2013 社区版下载地址
  16. 开源项目推荐:我个人中意的Python/C++/.Net数学库(★精品收藏★)
  17. 用最新版的Android Studio和Gradle把自己开发的Android包发布到JitPack上
  18. 数电实验(一)利用与非门设计四舍五入判别电路
  19. Contest3412 - 2022中石油大中小学生联合训练第七场
  20. 计算机相关的队名,有创意的队名和口号(精选80个)

热门文章

  1. 如何制定一个App推广活动方案
  2. 常用的数量统计量的计算及统计意义
  3. 网络安全系列之三十七 Pangolin(穿山甲)和Havij(胡萝卜)的使用
  4. 计算机显示屏知识,计算机配置知识之显示屏
  5. htpp proxy
  6. unity屏幕后处理效果
  7. iOS--TexiField相关
  8. 在电脑中如何调整PDF文件大小
  9. 国科大学习资料--人工智能原理与算法-第十四次作业解析(学长整理)
  10. 一步一回头撞在了南墙上