pytorch torch类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytorch torch类相关的知识,希望对你有一定的参考价值。

参考技术A

本文介绍一些可能有用的torch类中的方法。

对input进行拼接,参数表示在那个维度进行拼接。

沿给定轴dim,将输入索引张量index指定位置的值进行赋值。
赋值公式为如下:

也就是修改输入的dim维的数值排列。
示例:

根据掩码张量mask中的二元值,取输入张量中的指定项( mask为一个 ByteTensor),将取值返回到一个新的1D张量。
也就是在原本的input中选择部分数值。

返回一个包含输入input中非零元素索引的张量。输出张量中的每行包含输入中非零元素的索引。

将输入张量形状中的1 去除并返回。 如果输入是形如(A×1×B×1×C×1×D),那么输出形状就为: (A×B×C×D)。

示例:

沿着新的维度对输入张量进行排序。最外面的维度是0.

示例:

对二维向量进行转置。

返回一个新的张量,对输入的制定位置插入维度 1。如果dim为负,则将会被转化dim+input.dim()+1。

设定生成随机数的种子。

返回生成随机数的原始种子值。

返回一个张量,包含从给定参数means,std的离散正态分布中抽取随机数。

计算输入张量的每个元素绝对值。

返回一个新张量,包含输入张量每个元素的反余弦。

对输入张量input逐元素加上标量值value,并返回结果到一个新的张量out,即 out=tensor+value。

other 张量的每个元素乘以一个标量值value,并加到iput 张量上。返回结果到输出张量out。即,out=input+(other∗value)。

对输入input张量每个元素向上取整。

向下取整。

将输入input张量每个元素的夹紧到区间 [min,max],并返回结果到一个新张量。

将input逐元素除以标量值value,并返回结果到输出张量out。

对两个张量以start,end做线性插值, 将结果返回到输出张量。

计算input 的自然对数。

用标量值value乘以输入input的每个元素,并返回一个新的结果张量。

返回一个新张量,包含输入input张量每个元素的倒数,即 1.0/x。

返回一个新张量,包含输入input张量每个元素的除法余数。

四舍五入。

计算每个元素的平方根倒数。

输入input张量每个元素的sigmoid值。

返回输入沿指定维度的累积积。例如,如果输入是一个N 元向量,则结果也是一个N 元向量,第i 个输出元素值为yi=x1∗x2∗x3∗...∗xi。

返回输入沿指定维度的累积和。第i 个输出元素值为 yi=x1+x2+x3+...+xi。

返回输入张量所有元素的均值。

返回输入张量给定维度上每行的积。
示例:

返回输入张量input 所有元素的标准差。

返回输入张量给定维度上每行的和。 输出形状与输入相同,除了给定维度上为1。

返回输入张量所有元素的方差。

对input张量和第二个参数进行比较。如果相同则在对应位置返回1.第二个参数可以是张量或数。
示例:

如果两个张量有相同的形状和元素值,则返回True ,否则 False。
即比较张量形状也比较元素值。

逐元素比较input和other的大小,即是否 input>=other。

逐元素比较input和other的大小 , 即是否input>other。

逐元素比较input和other , 即是否input<=other 。

逐元素比较input和other , 即是否 input<other。

返回输入张量所有元素的最大值。

返回输入张量给定维度上每行的最大值,并同时返回每个最大值的位置索引。

返回输入张量所有元素的最小值。

input中逐元素与other相应位置的元素对比,返回最小值到输出张量。即,outi=min(tensori,otheri)。

对输入张量input沿着指定维按升序排序。如果不给定dim,则默认为输入的最后一维。如果指定参数descending为True,则按降序排序。
返回元组 (sorted_tensor, sorted_indices) , sorted_indices 为原始输入中的下标。

沿给定dim维度返回输入张量input中 k 个最大值。 如果不指定dim,则默认为input的最后一维。 如果为largest为 False ,则返回最小的 k 个值。
返回一个元组 (values,indices),其中indices是原始输入张量input中测元素下标。 如果设定布尔值sorted 为 True ,将会确保返回的 k 个值被排序。

返回沿着维度dim上,两个张量input和other的向量积(叉积)。 input和other 必须有相同的形状,且指定的dim维上size必须为3。

对两个批batch1和batch2内存储的矩阵进行批矩阵乘操作。

对矩阵mat1和mat2进行矩阵乘操作。
out=(beta∗M)+(alpha∗mat1@mat2)

对存储在两个批batch1和batch2内的矩阵进行批矩阵乘操作。batch1和 batch2都为包含相同数量矩阵的3维张量。 如果batch1是形为b×n×m的张量,batch1是形为b×m×p的张量,则out和mat的形状都是n×p,即 res=(beta∗M)+(alpha∗sum(batch1i@batch2i,i=0,b))

计算两个张量的点乘(内乘),两个张量都为1-D 向量.

对矩阵mat1和mat2进行相乘。 如果mat1 是一个n×m 张量,mat2 是一个 m×p 张量,将会输出一个 n×p 张量out。

对矩阵mat和向量vec进行相乘。 如果mat 是一个n×m张量,vec 是一个m元 1维张量,将会输出一个n 元 1维张量。

以上是关于pytorch torch类的主要内容,如果未能解决你的问题,请参考以下文章

PyTorch 源码解读之 torch.utils.data

pytorch中的顺序容器——torch.nn.Sequential

PyTorch-torch04: Cov2d二维卷积和torch.nn

torch.Tensor 和 torch.tensor

PyTorch 1.0 中文文档:数据类型信息

PyTorch之torch.utils.data.DataLoader解读