您好,登录后才能下订单哦!
这篇文章将为大家详细讲解有关Pytorch中Tensor基本操作的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
小写字母的tensor接收具体的数据,可以直接按照numpy的方式输入数组。
大写字母的可以接收形状,此时会生成随机数,但没有任何规则。可以生成不同的类型。
自动生成的数据有默认类型,FloatTensor,可以使用torch.set_default_tensor_type去修改
rand
:0-1之间均匀采样
randn
:均值0,方差1的正态分布随机采样
以上两种可以直接输入形状,即可产生对应形状的随机数。
randint
:参数是---起始值、终止值、形状
同时每一个都会有一个_like方法,输入一个tensor,会生成对应形状的新tensor
参数是---形状,数据。如果形状的位置给一个空的list,生成的就是标量。
参数是---起始,终止,步长。不包含终止值。
参数是---起始,终止,数量。包含终止值
输入形状即可。ones和zeros也有_like方法
随机打散。输入一个数字,会自动生成这个数字长度的,从0开始的随机排列数字,可以作为索引。当需要对不同的数据,使用相同的索引,并且打乱顺序时,非常好用。
和python中的索引切片使用方法一致
输入的参数---维度的位置、要选的内容对应的维度的索引。不太好理解,可以看下面的例子。
三个点相当于集成了的连续的冒号。
需要先根据数据生成一个mask,比如挑选出大于等于0.3的数,此时会得到一个和数据相同形状的,满足条件位置是1,不满足条件的位置是0的一个mask,通过masked_select可以选出数据。
和numpy中的reshape方法一样。转换的时候需要考虑到实际的物理意义。
squeeze
输入的参数---需要减少的维度所在位置
unsqueeze
输入的参数---需要增加的维度所在的位置
expand
输入的参数---希望扩展后所形成的维度
repeat
输入的参数---各自维度需要重复的次数
通常使用expand,因为不会主动复制数据。
t
:和numpy中的转置一样,只针对二维矩阵操作
transpose
:输入需要交换的维度的位置即可。但想要还原的时候,需记得转换后的各个位置的物理意义,根据实际意义进行再次转换。见下面的例子。
permute
:输入希望转换成的维度的位置索引即可。相当于多次使用transpose
关于“Pytorch中Tensor基本操作的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。