@TOC
Tensor的三角函数
1 2 3 4 5 6 7 8 9 10
| torch.acos(input,out=None)#arccos反三角函数中的反余弦 torch.asin(input,out=None) torch.atan(input,out=None) torch.atan2(input,input2,out=None) torch.cos(input,out=None) torch.cosh(input,out=None) torch.sin(input,out=None) torch.sinh(input,out=None)#双曲正弦函数 torch.tan(input,out=None) torch.tanh(input,out=None)
|
Tensor中其他的数学函数
1 2 3 4 5 6 7 8 9 10 11
| torch.abs() torch.sigmoid() torch.sign() 符号函数 torch.reciprocal() 每个元素的倒数 torch.rsqrt() 对每个元素取平方根后再取倒数 torch.neg() 元素取负 torch.lerp(start, end, weight, out=None):对两个张量以start, end做线性插值,将结果返回到输出张量out = start + weight*(end - start) torch.addcdiv(tensor, value=1, tensor1, tensor2, out=None):用tensor2对tensor1逐元素相除,然后乘以标量值value并加到tensor上。 torch.addcmul(tensor, value=1, tensor1, tensor2, out=None):用tensor2对tensor1逐元素相乘,并对结果乘以标量值value然后加到tensor,张量形状不需要匹配,但元素数量必须一致。 torch.cumprod(input, dim, out=None) -> Tensor:返回输入沿指定维度的累积积,如输入是一个N元向量,则结果也是一个N元向量,第i个输出元素值为yi = x1 * x2 * x3 * ...* xi torch.cumsum(input, dim, out=None) -> Tensor:返回输入沿指定维度的累积和
|
Tensor中统计学相关的函数(维度,对于二维数据:dim=0 按列,dim=1 按行,默认 dim=1)
1 2 3 4 5 6 7 8 9 10 11 12 13
| torch().mean() torch().sum() torch().prod() torch().max() torch().min() torch().argmax() torch().argmin() torch().std() torch().var() torch().median() torch().mode() torch.histc(input, bins=100, min=0, max=0, out=None) -> Tensor:计算输入张量的直方图。如果min和max都为0,则利用数据中的最大最小值作为边界。 torch().bincount()
|
1 2 3 4 5 6 7 8
| import torch
a = torch.rand(2, 2)#大小2*2
print(a) print(torch.sum(a)) print(torch.sum(a, dim=0)) print(torch.sum(a, dim=1))
|

Tensor的torch.distributions(分布函数)
distributions包含可参数化的概率分布和采样函数
得分函数
pathwise derivative估计器

KL Divergence 相对熵
Transforms
Tensor中的随机抽样
定义随机种子:在需要生成随机数据的实验中,每次实验都需要生成数据,为了确保每次运行.py文件时,生成的随机数都是固定的。
定义随机数满足的分布
1
| torch.normal(means, std, out=None):返回一个张量,包含从给定means, std的离散正态分布中抽取随机数,均值和标准差的形状不须匹配,但每个张量的元素个数须相同
|
Tensor中的范数运算
范数
在泛函分析中,它定义在赋范线性空间中,并满足一定的条件,即1.非负性,2.齐次性,3.三角不等式。
常被用来度量某个向量空间(或矩阵)中的每个向量的长度或大小。
0范数/1范数/2范数/p范数/核函数:核范数是矩阵奇异值的和
- torch.dist(input,other,p=2)计算p范数
- torch.norm()计算2范数
1 2 3 4 5 6 7 8
| import torch
a = torch.rand(2, 1) b = torch.rand(2, 1) print(a, b) print(torch.dist(a, b, p = 1)) print(torch.dist(a, b, p = 2)) print(torch.dist(a, b, p = 3))
|

1 2 3
| print(torch.norm(a)) print(torch.norm(a, p=3)) print(torch.norm(a, p='fro'))#核函数
|

Tensor中的矩阵分解
常见的矩阵分解
1 2 3 4
| LU分解:将矩阵A分解成L(下三角)矩阵和U(上三角)矩阵的乘积 QR分解:将原矩阵分解成一个正交矩阵Q和一个上三角矩阵R的乘积 EVD分解:特征值分解:PCA SVD分解:奇异值分解:LDA
|
Pytorch中的奇异值分解