3
当前tf.contrib.metrics.streaming_accuracy
只能计算前1位的准确性,而不是前k位。作为解决办法,这是我一直使用的是什么:TensorFlow:是否有计算和更新最高k精度的度量标准?
tf.reduce_mean(tf.cast(tf.nn.in_top_k(predictions=predictions, targets=labels, k=5), tf.float32))
然而,这并没有给我一个方法来计算流精度在每个批次,这将是在获得稳定的评价精度有用平均。我目前通过使用它的numpy输出手动计算这个流最高精度5,但这意味着我将无法在tensorboard上可视化这个度量。
有没有办法通过创建一个accuracy_update函数来实现一个更简单的实现,或者是否有一个现有的函数已经做到了这一点?
谢谢。
感谢您的咨询!该功能完全按照预期工作。 – kwotsin
什么数据类型和形状是你的预测和标签? 我也试图使用这个函数,但我得到一个InvalidArgumentError说目标[0]超出范围.. – GPhilo
没关系,发现问题(我使用argmax(logits)作为'预测'而不是自己的logits ) – GPhilo