人工智能学习Pytorch教程Tensor基本操作示例详解

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

一、tensor的创建

1.使用tensor

小写字母的tensor接收具体的数据,可以直接按照numpy的方式输入数组。

2.使用Tensor

大写字母的可以接收形状,此时会生成随机数,但没有任何规则。可以生成不同的类型。

自动生成的数据有默认类型,FloatTensor,可以使用torch.set_default_tensor_type去修改

3.随机初始化

rand:0-1之间均匀采样

randn:均值0,方差1的正态分布随机采样

以上两种可以直接输入形状,即可产生对应形状的随机数。

randint:参数是---起始值、终止值、形状

同时每一个都会有一个_like方法,输入一个tensor,会生成对应形状的新tensor

4.其他数据生成

①torch.full

参数是---形状,数据。如果形状的位置给一个空的list,生成的就是标量。

②torch.arange

参数是---起始,终止,步长。不包含终止值。

③linspace和logspace

参数是---起始,终止,数量。包含终止值

④ones, zeros, eye

输入形状即可。ones和zeros也有_like方法

⑤torch.randperm

随机打散。输入一个数字,会自动生成这个数字长度的,从0开始的随机排列数字,可以作为索引。当需要对不同的数据,使用相同的索引,并且打乱顺序时,非常好用。

二、tensor的索引与切片

1.索引与切片使用方法

和python中的索引切片使用方法一致

①index_select

输入的参数---维度的位置、要选的内容对应的维度的索引。不太好理解,可以看下面的例子。

②...

三个点相当于集成了的连续的冒号。

③mask

需要先根据数据生成一个mask,比如挑选出大于等于0.3的数,此时会得到一个和数据相同形状的,满足条件位置是1,不满足条件的位置是0的一个mask,通过masked_select可以选出数据。

三、tensor维度的变换

1.维度变换

①torch.view

和numpy中的reshape方法一样。转换的时候需要考虑到实际的物理意义。

②squeeze/unsqueeze

squeeze输入的参数---需要减少的维度所在位置

unsqueeze输入的参数---需要增加的维度所在的位置

③expand,repeat

expand输入的参数---希望扩展后所形成的维度

repeat输入的参数---各自维度需要重复的次数

通常使用expand,因为不会主动复制数据。

④t,transpose,permute

t:和numpy中的转置一样,只针对二维矩阵操作

transpose:输入需要交换的维度的位置即可。但想要还原的时候,需记得转换后的各个位置的物理意义,根据实际意义进行再次转换。见下面的例子。

permute:输入希望转换成的维度的位置索引即可。相当于多次使用transpose

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

相关文章

  • Django框架多表查询实例分析

    Django框架多表查询实例分析

    这篇文章主要介绍了Django框架多表查询,结合实例形式分析了Django框架实现多表查询的外键、关联、前向查询、反向查询等相关操作技巧与注意事项,需要的朋友可以参考下
    2018-07-07
  • Python 恐龙跑跑小游戏实现流程

    Python 恐龙跑跑小游戏实现流程

    大家好,本篇文章主要讲的是用python实现谷歌小恐龙小游戏,看看这是你断网时的样子么,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • python tkinter图形界面代码统计工具(更新)

    python tkinter图形界面代码统计工具(更新)

    这篇文章主要为大家详细介绍了python tkinter图形界面代码统计工具,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • python 下载文件的几种方式分享

    python 下载文件的几种方式分享

    这篇文章主要介绍了python 下载文件的几种方式分享,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-04-04
  • Python参数解析模块sys、getopt、argparse使用与对比分析

    Python参数解析模块sys、getopt、argparse使用与对比分析

    今天小编就为大家分享一篇关于Python参数解析模块sys、getopt、argparse使用与对比分析,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • python生成1行四列全2矩阵的方法

    python生成1行四列全2矩阵的方法

    今天小编就为大家分享一篇python生成1行四列全2矩阵的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • 跟老齐学Python之关于循环的小伎俩

    跟老齐学Python之关于循环的小伎俩

    不管是while还是for,所发起的循环,在python编程中是经常被用到的。特别是for,一般认为,它要比while快,而且也容易写(是否容易,可能因人而异,但是,执行时间快,是的确的),因此在实践中,for用的比较多点。
    2014-10-10
  • 在Python中利用pickle保存变量的实例

    在Python中利用pickle保存变量的实例

    今天小编就为大家分享一篇在Python中利用pickle保存变量的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • scrapy实践之翻页爬取的实现

    scrapy实践之翻页爬取的实现

    这篇文章主要介绍了scrapy实践之翻页爬取的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • html网页调用后端python代码的方法实例

    html网页调用后端python代码的方法实例

    html页面中确实能够调用python程序,不过只能调“一点点”,下面这篇文章主要给大家介绍了关于html网页调用后端python代码的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-01-01

最新评论