Pytorch进阶操作的示例分析

技术Pytorch进阶操作的示例分析小编给大家分享一下Pytorch进阶操作的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、合并与

边肖将与大家分享一个Pytorch高级操作的实例分析。相信大部分人都不太了解,所以分享这篇文章给大家参考。希望你看完这篇文章会有很多收获。我们一起来看看吧!

00-101010

一、合并与分割

直接按照指定的dim维度合并,除了要合并的维度,其他维度都需要相同。

Pytorch进阶操作的示例分析

00-1010示例:在这里创建一个像A一样的张量,按照一定的维度进行叠加,叠加的维度前面会生成一个新的维度供选择。例如,如果它成为一个新的维度,您可以按0,1选择它。具体是什么意思,要看实际问题。

比如两个类的成绩单用栈合并生成一个新维度,可以选择0或者1来选择这个新维度,从而达到选类的目的。

Pytorch进阶操作的示例分析

1.cat拼接

2.stack堆叠

第一个参数可以是单个数字A,表示每个拆分部分都有A数据;可以是类似list的对象B,意思是按照B中的方式将数据拆分成len(b)张量。

Pytorch进阶操作的示例分析

从00到1010传入的第一个参数是将它分成块,然后用这个数字来划分原始维度。

例如,在下面的例子中,原始维度是[2,32,8],当chunk参数传入2时,需要拆分为2,然后2/2=1,最后每一个的维度变成[1,32,8]。

Pytorch进阶操作的示例分析

3.拆分

Split按长度拆分

与numpy一致。也可以使用torch.add等方法

Pytorch进阶操作的示例分析

00-1010注意,*表示元素乘以元素,矩阵乘法可以通过以下两种方式进行:torch.matmul,@

Pytorch进阶操作的示例分析

如果是高维矩阵乘法,实际计算的是最后两维的矩阵乘法。

Pytorch进阶操作的示例分析

00-1010与numpy一致,可以用* *计算任意幂。另外,也可以计算功率()。

Pytorch进阶操作的示例分析

而且指数计算基本相同,log的默认值是e-base。

Pytorch进阶操作的示例分析

当渐变太大时,

Chunk按数量拆分

通常用于裁剪渐变。通过输入最大值和最小值,目标中超过最大值的部分将根据最大值进行计算;低于最小值,跟随最小值。

Pytorch进阶操作的示例分析

00-101010

二、基本运算

注意一件事:找到规范会消除哪个维度。

Pytorch进阶操作的示例分析

1.加减乘除

" alt="Pytorch进阶操作的示例分析">

3. dim和keepdim

在很多方法中,都可以对dim进行设置。如果不设置,就是把所有数据展开后,求全局的。

注意这里的dim,a的形状是[4,10],求最大值时,如果设置dim=1,也就是列,个人理解,意思是结果的维度需要是列,那么就是把整行的数值进行计算找最大值,最后返回一个列作为结果。

Pytorch进阶操作的示例分析

4.topk和kthvalue

topk参数:k(前k个最大值),dim(以dim的维度返回结果)

这个方法默认的是返回的最大值,同时会返回它们的索引。

kthvalue参数:k(第k小的值),dim

Pytorch进阶操作的示例分析

5.比较运算

和Numpy中的一致。如果使用torch.eq方法,返回每个对应位置的结果;如果使用torch.equal方法,返回的是整体对比的结果。

Pytorch进阶操作的示例分析

6.高阶操作

①where

Pytorch进阶操作的示例分析

②gather

索引行数小于等于表的行数。也就是说,既然要用索引来去找表中的内容,就不能超过表的索引长度。索引在传入gather方法中的时候,必须要转换成Long的类型。

举例如下:

Pytorch进阶操作的示例分析

返回值的形状一定是索引的形状,因为就是按照索引去取的值。返回值的内容就来自于输入的input,根据索引获得的对应的值。

以上是“Pytorch进阶操作的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/88866.html

(0)

相关推荐

  • Python如何爬取猫咪网站交易数据

    技术Python如何爬取猫咪网站交易数据这期内容当中小编将会给大家带来有关Python如何爬取猫咪网站交易数据,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、前言看到可爱的猫咪表情包

    攻略 2021年10月26日
  • sysbench 0.5有什么用

    技术sysbench 0.5有什么用这篇文章主要介绍sysbench 0.5有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 一 前言 因为在准备做压力测试方面

    攻略 2021年11月7日
  • Socket基础知识有哪些

    技术Socket基础知识有哪些本篇文章给大家分享的是有关Socket基础知识有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。如何一步步掌握Socket相

    攻略 2021年11月25日
  • 简述spark的运行架构(spark可以运行在哪些模式下)

    技术如何解析Spark运行模式这篇文章将为大家详细讲解有关如何解析Spark运行模式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Spark运行模式1 Spark的两个

    攻略 2021年12月17日
  • 抖音上怎么快速涨粉,抖音怎么才能快速获得粉丝

    技术抖音上怎么快速涨粉,抖音怎么才能快速获得粉丝我们后来认为它是一个概率问题,而概率本身又是一个数学问题,那么在一定条件下你只要把这些事情量化就可以做优化。既然可以优化,那就可以规模化。
    于是我们就去把不同的视频在不同的

    测评 2021年10月26日
  • 为什么oracle 10.2.0.5只会获取child#=1的shared pool latch

    技术为什么oracle 10.2.0.5只会获取child#=1的shared pool latch这篇文章主要介绍了为什么oracle 10.2.0.5只会获取child#=1的shared pool latch,具有

    2021年11月12日