in_top_k(predictions, targets, k, name=None)
函数的输入:
predictions:预测的输出结果,预测矩阵的大小为样本数×类别的个数的二维矩阵。换句话说,矩阵的值就是每个样本属于各个类别的概率值。
targets:真实标注的类别值,大小为样本个数,即每个样本对应一个唯一的类别。
k:当k=1时,即就是某一样本预测属于某一最大概率的类,与该样本真实标注的targets**类**进行对比,是否一致,一致则输出true,反之输出false。当k不等于1时,每个样本的预测结果的前k个最大概率的类里面是否包含targets预测中的标签,也就是多对一。
函数的输出:
bool型变量。即predictions预测标签和targets实际标签进行对比,是否一致,一致则输出true,反之输出false。
假设有10个样本,标注为5类,10个样本实际标签均是第一类,代码如下:
import tensorflow as tf
logits = tf.Variable(tf.truncated_normal(shape=[10,5],stddev=