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)

相关推荐

  • Socket基础知识有哪些

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

    攻略 2021年11月25日
  • 黑眼圈,快速去除黑眼圈的好方法有哪些

    技术黑眼圈,快速去除黑眼圈的好方法有哪些黑眼圈的形成原因比较复杂,总体可以按照成因分为以下2类黑眼圈:1、色素沉积型:一般为茶褐色,多由于日晒、不恰当的化妆和卸妆等导致的皮肤色素沉着。解决对策上应以减少色素沉积、促进黑色

    生活 2021年10月20日
  • 戛然而止是什么意思,“戛然而止”的“戛”是什么意思

    技术戛然而止是什么意思,“戛然而止”的“戛”是什么意思意思是:象声词一戛然而止是什么意思、戛的组词:戛然、戛玉、摩戛、戛云、戛击、排戛、嘐戛、磨戛、戛羹、交戛、戛齿、戛敔、铿戛、硗戛、戛触、相戛、戛摩、戛服、戛磨、击戛二

    生活 2021年10月25日
  • 如何使用Ranger给HDFS授权

    技术如何使用Ranger给HDFS授权这篇文章给大家介绍如何使用Ranger给HDFS授权,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。主要介绍如何使用Ranger 给HDFS 授权。文档概述1.介

    攻略 2021年11月2日
  • 微信如何实名认证不绑定银行卡,微信没有银行卡怎么实名认证

    技术微信如何实名认证不绑定银行卡,微信没有银行卡怎么实名认证微信不绑定银行卡也可通过绑定身份证进行实名认证的微信如何实名认证不绑定银行卡,具体操作如下:1、打开手机微信,点击微信页面下方的“我”2、进入我的页面,点击“钱

    生活 2021年10月28日
  • Redis的java客户端Jedis的代码怎么写

    技术Redis的java客户端Jedis的代码怎么写这篇文章将为大家详细讲解有关Redis的java客户端Jedis的代码怎么写,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了

    攻略 2021年10月20日