本文是对eat pytorch in 20 day做的笔记
+、-、*、/、**、%、//、>=、&、|、……
torch.sqrt()#开方
torch.round(x) #保留整数部分,四舍五入
torch.floor(x) #保留整数部分,向下归整
torch.ceil(x) #保留整数部分,向上归整
torch.trunc(x) #保留整数部分,向0归整
torch.clamp(x,min,max)#幅值裁剪
a = torch.arange(1,10).float()
torch.sum(a)
torch.mean(a)
torch.max(a)
torch.min(a)
torch.prod(a) #累乘
torch.std(a) #标准差
torch.var(a) #方差
torch.median(a) #中位数
#如果a是矩阵,还有一个参数dim,不仅会返回值,还会返回dim下的index
#cum扫描,tensor大小不变,下一个数是和前面数的累计运算
torch.cumsum(a,0)
torch.cumprod(a,0)
torch.cummax(a,0).values
torch.cummax(a,0).indices
torch.cummin(a,0)
#排序
torch.topk(a,2,dim = 0)
torch.topk(a,2,dim = 1)
torch.sort(a,dim = 1)
#矩阵乘法
a@b、torch.matmul(a,b)、torch.mm(a,b)
#矩阵转置
a.t()、torch.transpose()
#矩阵求逆(必须为浮点)
torch.inverse()
#矩阵求迹
torch.trace()
#矩阵求范数(所有元素的平方和开根号)
torch.norm()
#矩阵行列式
torch.det()
#矩阵特征值
torch.eig(a,eigenvectors=True)
#QR分解:将一个方阵分解为正交矩阵和上三角矩阵
q,r=torch.qr(a)
#svd分解:将任意矩阵分解为正交矩阵、对角矩阵和正交矩阵
u,s,v=torch.svd()
torch.broadcast_tensors(a,b)#可以将多个张量根据广播规则转换成相同的维度。
#两个张量的某一维度相同或者其中一个维度是1,那么它们在这个维度上是相容的。两个张量相容,就可以使用广播,每个维度扩展到二者该维度的最大值。不使用广播,只要相容,在操作时也会自动扩展。