tensorflow tensor转置_tensorflow中张量排序与accuracy计算

今天跟B站“奔跑的东兵卫”大佬的教程,学习了在tensorflow中进行张量排序和accuracy计算的内容。

大概的想法是这样。

模型计算导出的预测结果output的shape是[b,N],真实值target的shape是[b]

b是batch,就是本次运算有多少sample,N是结果的可能性有几种

先对output的每一行(即每个sample在各个类的概率)进行大小的比较,得到一个大小不变但是概率变成排序数字tensor,其shape还是[b, N]。

pred = tf.math.top_k(output, maxk).indices

然后对这个tensor进行转置

pred = tf.transpose(pred, perm=[1,0])

pred的shape就变成了[N, b]

为了能让pred和真实值target能够进行比较,需要把target的shape也变成和pred一样,这里用broadcast_to函数

target_ = tf.broadcast_to(target,pred.shape)

然后就是比较pred和target,相同的数字变成True,不同的变成False

correct = tf.equal(pred,target_) #[N,b]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值