pytorch的permute(dims) 函数的功能详解

这篇具有很好参考价值的文章主要介绍了pytorch的permute(dims) 函数的功能详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

有三块 二维矩阵 如下

pytorch的permute(dims) 函数的功能详解,pytorch,人工智能

把二维矩阵堆叠起来,就是三维 矩阵

pytorch的permute(dims) 函数的功能详解,pytorch,人工智能

这样的矩阵 从x方向看(0维)  有三块 记为3,每块从y方向看(1维)的行是3,从z方向看(2维)列也是3,故三维矩阵的尺寸就是(3,3,3)

permute(dims)是干啥的, 它是操作维度的,二维是转置,原三维不变的情况下(0,1,2),可以变(0,2,1),就是转置了

permute(dims)

  1. 参数dims用矩阵的维数代入,一般默认从0开始。即第0维,第1维等等
  2. 也可以理解为,第0块,第1块等等。当然矩阵最少是两维才能使用permute
  3. 如是两维,dims分别为是0和1
  4. 可以写成permute(0,1)这里不做任何变化,维数与之前相同
  5. 如果写成permute(1,0)得到的就是矩阵的转置
  6. 如果三维是permute(0,1,2)
  7. 0代表共有几块维度:本例中0对应着3块矩阵
  8. 1代表每一块中有多少行:本例中1对应着每块有2行
  9. 2代表每一块中有多少列:本例中2对应着每块有5列
  10. 所以是3块2行5列的三维矩阵
  11. 这些0,1,2并没有任何实际的意义,也不是数值,只是用来标识区别。有点类似于x,y,z来区分三个坐标维度,是人为规定好的
  12. 三维情况直接用下面的代码来给大家讲解
     

 举例:

>>> x2 = torch.linspace(1, 30, steps=30).view(3,2,5) #产生30个数,步长30,把这30个数组成x方向3块,每一快 y方向2个数,z方向5个数
>>> x2
tensor([[[ 1.,  2.,  3.,  4.,  5.],
         [ 6.,  7.,  8.,  9., 10.]],

        [[11., 12., 13., 14., 15.],
         [16., 17., 18., 19., 20.]],

        [[21., 22., 23., 24., 25.],
         [26., 27., 28., 29., 30.]]])
>>>
变化一:不改变任何参数
>>> b = x2.permute(0,1,2)   # b和x2矩阵一样
>>> b
tensor([[[ 1.,  2.,  3.,  4.,  5.],
         [ 6.,  7.,  8.,  9., 10.]],

        [[11., 12., 13., 14., 15.],
         [16., 17., 18., 19., 20.]],

        [[21., 22., 23., 24., 25.],
         [26., 27., 28., 29., 30.]]])
>>>

 变化二:0,1交换

>>> b1 = x2.permute(1,0,2)   仔细看看b1 与b的变化
>>> b1 
tensor([[[ 1.,  2.,  3.,  4.,  5.],
         [11., 12., 13., 14., 15.],
         [21., 22., 23., 24., 25.]],

        [[ 6.,  7.,  8.,  9., 10.],
         [16., 17., 18., 19., 20.],
         [26., 27., 28., 29., 30.]]])

变化二:1,2交换

>>> b2 = x2.permute(0,2,1)
>>> b2
tensor([[[ 1.,  6.],
         [ 2.,  7.],
         [ 3.,  8.],
         [ 4.,  9.],
         [ 5., 10.]],

        [[11., 16.],
         [12., 17.],
         [13., 18.],
         [14., 19.],
         [15., 20.]],

        [[21., 26.],
         [22., 27.],
         [23., 28.],
         [24., 29.],
         [25., 30.]]])
>>>

这个函数的功能 就是转置变换,元素大小和个数不变,就是矩阵的形式变化

参考:

torch中permute()函数用法_permute函数_ac不知深的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-522968.html

到了这里,关于pytorch的permute(dims) 函数的功能详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Python从入门到人工智能】14个必会的Python内置函数(6)——打印输出 (详细语法参考+参数说明+具体示例) | 详解Python中的打印输出!附综合案例!

      你有不伤别人的教养,却缺少一种不被别人伤害的气场,若没有人护你周全,就请你以后善良中带点锋芒,为自己保驾护航。   🎯作者主页: 追光者♂🔥          🌸个人简介:   💖[1] 计算机专业硕士研究生💖   🌟[2] 2022年度博客之星人工智能领域TOP4🌟   🏅[

    2024年02月15日
    浏览(62)
  • PyTorch 人工智能研讨会:6~7

    原文:The Deep Learning with PyTorch Workshop 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 深度学习 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 不要担心自己的形象,只关心如何实现目标。——《原则》,生活原则 2.3.c 概述 本章扩展了循环神经网络的概念。 您将

    2023年04月20日
    浏览(67)
  • 人工智能(pytorch)搭建模型9-pytorch搭建一个ELMo模型,实现训练过程

    大家好,我是微学AI,今天给大家介绍一下人工智能(pytorch)搭建模型9-pytorch搭建一个ELMo模型,实现训练过程,本文将介绍如何使用PyTorch搭建ELMo模型,包括ELMo模型的原理、数据样例、模型训练、损失值和准确率的打印以及预测。文章将提供完整的代码实现。 ELMo模型简介 数据

    2024年02月07日
    浏览(67)
  • 人工智能(Pytorch)搭建模型6-使用Pytorch搭建卷积神经网络ResNet模型

    大家好,我是微学AI,今天给大家介绍一下人工智能(Pytorch)搭建模型6-使用Pytorch搭建卷积神经网络ResNet模型,在本文中,我们将学习如何使用PyTorch搭建卷积神经网络ResNet模型,并在生成的假数据上进行训练和测试。本文将涵盖这些内容:ResNet模型简介、ResNet模型结构、生成假

    2024年02月06日
    浏览(78)
  • 人工智能(pytorch)搭建模型10-pytorch搭建脉冲神经网络(SNN)实现及应用

    大家好,我是微学AI,今天给大家介绍一下人工智能(pytorch)搭建模型10-pytorch搭建脉冲神经网络(SNN)实现及应用,脉冲神经网络(SNN)是一种基于生物神经系统的神经网络模型,它通过模拟神经元之间的电信号传递来实现信息处理。与传统的人工神经网络(ANN)不同,SNN 中的

    2024年02月08日
    浏览(50)
  • 人工智能:Pytorch,TensorFlow,MXNET,PaddlePaddle 啥区别?

    学习人工智能的时候碰到各种深度神经网络框架:pytorch,TensorFlow,MXNET,PaddlePaddle,他们有什么区别? PyTorch、TensorFlow、MXNet和PaddlePaddle都是深度学习领域的开源框架,它们各自具有不同的特点和优势。以下是它们之间的主要区别: PyTorch是一个开源的Python机器学习库,它基

    2024年04月16日
    浏览(69)
  • 人工智能(pytorch)搭建模型17-pytorch搭建ReitnNet模型,加载数据进行模型训练与预测

    大家好,我是微学AI,今天给大家介绍一下人工智能(pytorch)搭建模型17-pytorch搭建ReitnNet模型,加载数据进行模型训练与预测,RetinaNet 是一种用于目标检测任务的深度学习模型,旨在解决目标检测中存在的困难样本和不平衡类别问题。它是基于单阶段检测器的一种改进方法,通

    2024年02月15日
    浏览(96)
  • 人工智能(Pytorch)搭建模型2-LSTM网络实现简单案例

     本文参加新星计划人工智能(Pytorch)赛道:https://bbs.csdn.net/topics/613989052  大家好,我是微学AI,今天给大家介绍一下人工智能(Pytorch)搭建模型2-LSTM网络实现简单案例。主要分类三个方面进行描述:Pytorch搭建神经网络的简单步骤、LSTM网络介绍、Pytorch搭建LSTM网络的代码实战 目录

    2024年02月03日
    浏览(66)
  • AI写作革命:PyTorch如何助力人工智能走向深度创新

    身为专注于人工智能研究的学者,我十分热衷于分析\\\"AI写稿\\\"与\\\"PyTorch\\\"这两项领先技术。面对日益精进的人工智能科技,\\\"AI写作\\\"已不再是天方夜谭;而\\\"PyTorch\\\"如璀璨明珠般耀眼,作为深度学习领域的尖端工具,正有力地推进着人工智能化进程。于此篇文章中,我将详细解析\\\"

    2024年04月13日
    浏览(57)
  • 人工智能TensorFlow PyTorch物体分类和目标检测合集【持续更新】

    1. 基于TensorFlow2.3.0的花卉识别 基于TensorFlow2.3.0的花卉识别Android APP设计_基于安卓的花卉识别_lilihewo的博客-CSDN博客 2. 基于TensorFlow2.3.0的垃圾分类 基于TensorFlow2.3.0的垃圾分类Android APP设计_def model_load(img_shape=(224, 224, 3)_lilihewo的博客-CSDN博客   3. 基于TensorFlow2.3.0的果蔬识别系统的

    2024年02月09日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包