人工智能学习Pytorch进阶操作教程

 更新时间:2021年11月11日 16:19:01   作者:Swayzzu  
这篇文章主要为大家介绍了人工智能学习Pytorch进阶操作的详解教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步

一、合并与分割

1.cat拼接

直接按照指定的dim维度进行合并,要求除了所需要合并的维度之外,其他的维度需要是一样的

2.stack堆叠

例:此处创建一个和a一样的tensor,按照某一维度进行stack,就会在堆叠的维度前面,生成一个新的维度,用以进行选择,比如新生成了一个2维,就可以通过0,1进行选择。具体是什么意义,取决于实际的问题。

比如两个班成绩单用stack合并,生成的新维度,就可以选择0或1来选择这个新维度,从而达到选择班级的目的。

3.拆分

①Split按长度拆分

第一个参数可以是单独的数字a,意思是每一个拆分出来的部分有a个数据;可以是一个类似list的对象b,意思是把数据按照b里面的方式拆分,拆分成len(b)个tensor。

②Chunk按数量拆分

传入的第一个参数就是拆成几个chunk,然后把原来的维度除以这个数量即可。

比如下面的例子,原来维度是[2,32,8],chunk参数传入2,就需要拆成2个,则2/2=1,最终每一个的维度变为[1,32,8]。

二、基本运算

1.加减乘除

和numpy中的一致。也可以使用torch.add等方法。

2.矩阵相乘

注意,*就是元素与元素相乘,而矩阵相乘可以用以下两种:torch.matmul,@

如果是高维矩阵相乘,计算的其实就是最后的两个维度的矩阵乘法。

3.次方计算

和numpy中一致,可以使用**来计算任意次方。此外.pow()也可以计算。

指数和对数计算也基本一致,log默认是以e为底的。

4. clamp

通常用于当出现梯度过大等情况时,对梯度进行裁剪。通过输入最大最小值,目标中超出最大值的按最大值来;低于最小值的按最小值来。

三、属性统计

1.求范数

注意一点:求哪个维度的范数,哪个维度就会被消掉。

2.求极值、求和、累乘

3. dim和keepdim

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

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

4.topk和kthvalue

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

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

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

5.比较运算

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

6.高阶操作

①where

②gather

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

举例如下:

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

以上就是人工智能学习Pytorch进阶操作教程的详细内容,更多关于PyTorch进阶的资料请关注脚本之家其它相关文章!

相关文章

  • 手把手教你用Python中的Linting提高代码质量

    手把手教你用Python中的Linting提高代码质量

    Python是一种不断发展的语言,随着它的演化和扩展,可用工具和开发策略的数量也在增加,近来流行的一个过程是linting—检查代码的潜在问题,下面这篇文章主要给大家介绍了关于用Python中Linting提高代码质量的相关资料,需要的朋友可以参考下
    2023-01-01
  • Python 时间戳之获取整点凌晨时间戳的操作方法

    Python 时间戳之获取整点凌晨时间戳的操作方法

    这篇文章主要介绍了Python 时间戳之获取整点凌晨时间戳的操作方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧
    2020-01-01
  • python opencv将表格图片按照表格框线分割和识别

    python opencv将表格图片按照表格框线分割和识别

    这篇文章主要介绍了python opencv将表格图片按照表格框线分割和识别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • django中cookiecutter的使用教程

    django中cookiecutter的使用教程

    这篇文章主要给大家介绍了关于django中cookiecutter使用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • windows下python 3.6.4安装配置图文教程

    windows下python 3.6.4安装配置图文教程

    这篇文章主要为大家详细介绍了windows下python 3.6.4安装配置图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • Python中匹配模糊的字符串问题分析

    Python中匹配模糊的字符串问题分析

    这篇文章主要介绍了Python中匹配模糊的字符串的过程,我们将学习如何使用process 模块,该模块允许我们在模糊字符串逻辑的帮助下有效地匹配或提取字符串,需要的朋友可以参考下
    2023-09-09
  • python基于爬虫+django,打造个性化API接口

    python基于爬虫+django,打造个性化API接口

    这篇文章主要介绍了python基于爬虫+django,打造个性化API接口的方法,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2021-01-01
  • 关于Python中浮点数精度处理的技巧总结

    关于Python中浮点数精度处理的技巧总结

    双精度浮点数(double)是计算机使用的一种数据类型,使用 64 位(8字节) 来存储一个浮点数。下面这篇文章主要给大家总结介绍了关于Python中浮点数精度处理的技巧,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • Python爬虫教程之利用正则表达式匹配网页内容

    Python爬虫教程之利用正则表达式匹配网页内容

    这篇文章主要给大家介绍了关于Python爬虫教程之利用正则表达式匹配网页内容的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 在Linux系统上通过uWSGI配置Nginx+Python环境的教程

    在Linux系统上通过uWSGI配置Nginx+Python环境的教程

    这篇文章主要介绍了在Linux系统上通过uWSGI配置Nginx+Python环境的教程,示例中为Ubuntu系统并且默认使用系统中自带的Python解释器,需要的朋友可以参考下
    2015-12-12

最新评论