阅读(7.1k) 书签 (0)

TensorFlow函数教程:tf.nn.in_top_k

2019-01-31 13:48 更新

tf.nn.in_top_k函数

tf.nn.in_top_k(
    predictions,
    targets,
    k,
    name=None
)

定义在:tensorflow/python/ops/nn_ops.py.

请参阅指南:神经网络>评估

说明目标是否在前K个预测中.

这输出了一个batch_size bool数组,如果目标类的预测是所有预测(例如i)中的前k个预测,则条目out[i]为true.请注意,InTopK的行为在处理关系时与TopK操作不同;如果多个类具有相同的预测值并跨越top-k边界,则所有这些类都被认为是在前k个.

更具体的介绍:

对于示例i:\(predictions_i \)是所有类的预测,;\(targets_i \)是目标类;\(out_i \)是输出.

$out_i = predictions_{i, targets_i} \in TopKIncludingTies(predictions_i)$

参数:

  • predictions:float32类型的Tensor.batch_size x classes张量.
  • targets:一个Tensor,必须是以下类型之一:int32,int64.类ids的batch_size向量.
  • k:int类型,要计算精度的顶级元素数.
  • name:操作的名称(可选).

返回:

bool类型的Tensor.以bool Tensor计算k处的精度.