zoukankan      html  css  js  c++  java
  • 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.

  • 相关阅读:
    线程
    VS调试Tip集结
    努力提高代码的质量
    深入Razor,你准备好了吗?(兼谈我的学习方法和定位)
    使用匿名委托,Lambda简化多线程代码
    敏捷个人-自我成长[关注个人成长软技能]
    使用ActiveRecord的三层构架及泛型例子
    RUP4+1架构方法
    信息系统字段动态定义 和 JavaScript 实用脚本,很好,珍藏起来[转贴]
    CRM2011
  • 原文地址:https://www.cnblogs.com/jiafeng1996/p/14998728.html
Copyright © 2011-2022 走看看