6:统计属性

1:求范数norm(int)/norm(int,dim)当只有一个参数时表示求几范数,当有两个参数时第二个表示在哪一个索引维度求范数。

 

 

 

 [注]在那个维度进行求范数时,哪个维度消失。例如图中shape为[2,2,2]的c在第0维度求范数则其shape变为[2,2]

[注]较难理解因此进行详细刨析对于如下类型的tensorD:

D=tensor([[[a1,a2],

[a3,a4]],

[[b1,b2],

[b3,b4]]])

int:D.norm(2,dim=0)

out:tensor([[(a1*a1+b1*b1)**1/2,(a2*a2+b2*b2)**1/2],

[(a3*a3+b3*b3)**1/2,(a4*a4+b4*b4)**1/2]])

int:D.norm(2,dim=0).shape

out:tensor([2,2])

 

int:D.norm(2,dim=1)

out:tensor([[(a1*a1+a3*a3)**1/2,(a2*a2+a4*a4)**1/2],

[(b1*b1+b3*b3)**1/2,(b2*b2+b4*b4)**1/2]])

int:D.norm(2,dim=1).shape

out:tensor([2,2])

 

int:D.norm(2,dim=2)

out:tensor([[(a1*a1+a2*a2)**1/2,(a3*a3+a4*a4)**1/2],

[(b1*b1+b2*b2)**1/2,(b3*b3+b4*b4)**1/2]])

int:D.norm(2,dim=2).shape

out:tensor([2,2])

2:mean求均值/sum/min/max/prod数乘/argmax最大索引/argmin表示最小索引

 

 

 【注】这些函数都会将tensor转换成1维的tensor,然后进行运算

 

 【注】:如上图如果需要在指定维度计算最值,可以添加索引维度参数。

【注】当min()添加dim参数时,返回两个值。一个为满足条件的元素tensor,一个为满足条件的索引tensor

 

 [注]由于以上的几种函数会进行销维,故如果要保持与原来的维度相同,则可以使用keepdim参数。其值为true、false

 3:topk() 求前k大 or kthvalue()求第k大

 

 [注]topk(k,dim,target)参数k为前k个top,dim为需要满足条件的维度,target=true表示求最大,=false表示求最小

其返回值为包括两个tensor,分别为元素(值)tensor和索引tensor.

[注]kthvalue(k,dim)参数k表示第k小(且只能表示第k小),dim为需要满足条件的维度

其返回值包括两个tensor,分别为元素(值)tensor,一个为索引tensor。如果需要于原来的tensor的shape保持一致,可以使用

keepdim参数。

 4:compare

 

 [注]>,>=,<,<=,!=,==会对tensor中的没一个元素进行对比,然后返回一个与原来tensor的shape相同的tensor。特别注意该tensor元素类型是torch.unit8不再是torch.flaot。

由于torch中没有true or false型的数据。如果元素相等返回1,不等返回0。

 [注]eq和equal的区别,eq会返回每一个元素是否相等,其返回的是一个tensor类型的。

equal则比较所有的元素是否相等,且返回true or false.

posted @ 2021-07-11 15:51  收购阿里巴巴  阅读(81)  评论(0编辑  收藏  举报