pytorch中的数学函数
torch.histc():指定最小值最大值和bin数,对tensor中的数据进行区段统计。
a = torch.rand(2,2)*10
print(a)
#6表示取6个区间段,0,0,表示采用Tensor中的最大值和最小值,也可以自己更改区间上的最大值和最小值
print( torch.histc(a,6, 0, 0) )
运行结果如下:
tensor([[5.5695, 1.2099],
[1.3061, 1.0443]]) #a的值
tensor([3., 0., 0., 0., 0., 1.]) #6个区间段中数据的的统计
注:torch.bincount()只支持一维的Tensor
a = torch.randint(0, 10, [10]) #取0-10中间任意10个数
print(a)
print( torch.bincount(a) )
运行结果如下:
tensor([8, 1, 2, 9, 9, 8, 1, 7, 8, 7]) #a的取值
tensor([0, 2, 1, 0, 0, 0, 0, 2, 3, 2]) #表示0-9每个数字出现的频率
pytorch中的分布函数
范数:
常用来被度量某个向量空间(或矩阵)中的每个向量的长度或大小(最熟悉的是向量的模),满足的条件有1.非负性,2.齐次性,3.三角不等式。
范数种类:
0范数(指在当前的向量中非零元素的个数和),1范数(向量元素绝对值的和),2范数(向量元素的平方和再开根号),P范数(元素绝对值的p次方和再开1/p次幂的结果),核范数(针对低秩问题求解)等
torch.dist( input, other, p=2 ) #计算p范数,完成向量与向量之间距离的度量
torch。norm( input,p=2 ) # 与上面不同,这是计算某一个向量的范数。p=“fro”为核范数