Tensorflow2.x代码实现计算Top-k Accuracy

举报
小小谢先生 发表于 2022/04/14 00:04:42 2022/04/14
【摘要】 在图像分类或是识别任务中,一般要求计算top-1,top-2,tor-5等准确率,下面是用Tensorflow2实现这一功能的基本代码,可以根据要求改代码分别计算: def accuracy(output,target,topk(1,)): maxk=max(topk) batch_size=target.shape[...

图像分类或是识别任务中,一般要求计算top-1,top-2,tor-5等准确率,下面是用Tensorflow2实现这一功能的基本代码,可以根据要求改代码分别计算:

def accuracy(output,target,topk(1,)):
    maxk=max(topk)
    batch_size=target.shape[0]
    
    pred=tf.math.top_k(output,maxk).indices
    pred=tf.transpose(pred,perm=[1,0])
    target_=tf.broadcast_to(target,pred.shape)
    correct=tf.equal(target_,pred)

    res=[]
    for k in topk:
        correct_k=tf.cast(tf.reshape(correct[:k],[-1]),dtype=tf.float32)
        correct_k=tf.reduce_sum(correct_k)
        acc=float(correct_k/batch_size)
        res.append(acc)
    return res

 

文章来源: blog.csdn.net,作者:小小谢先生,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/xiewenrui1996/article/details/105282447

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。