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)

相关推荐

  • JBuilder 6如何用Borland方式的Java集成开发环境

    技术JBuilder 6如何用Borland方式的Java集成开发环境JBuilder 6如何用Borland方式的Java集成开发环境,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇

    攻略 2021年12月2日
  • 如何使用Python 代码格式化工具 Black-Python

    技术如何使用Python 代码格式化工具 Black-Python如何使用Python 代码格式化工具 Black-Python,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴

    攻略 2021年10月25日
  • GO不支持循环引用的原因有哪些

    技术GO不支持循环引用的原因有哪些这篇文章将为大家详细讲解有关GO不支持循环引用的原因有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。其中一点就是包的循环引用的报错:package

    攻略 2021年10月31日
  • 编程语言的优缺点对比的实例分析

    技术编程语言的优缺点对比的实例分析编程语言的优缺点对比的实例分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。  python作为一门高级编程语言,它的诞生

    攻略 2021年11月16日
  • srvctl怎样添加新的监听和端口并静态注册

    技术srvctl怎样添加新的监听和端口并静态注册本篇文章给大家分享的是有关srvctl怎样添加新的监听和端口并静态注册,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来

    攻略 2021年11月30日
  • Struts2 checkbox适用场景及分析是这样的

    技术Struts2 checkbox适用场景及分析是这样的Struts2 checkbox适用场景及分析是这样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,

    攻略 2021年11月16日