我正在使用神经网络来分析玩家在电脑游戏中做出的物品选择。在游戏中玩家可以选择 0 到 7 个项目。现在我正在为如何评估我的数据而苦苦挣扎。
Tensorflow 提供了一种很好的方法来获取 k 个最高值。
tf.nn.top_k(input, k=1, sorted=True, name=None)
这里的输入将是我的神经网络的预测。然后将通过将 top_k 应用于预测得到的输出与将 top_k 应用于正确输出(神经网络应该具有的输出)进行比较,并通过多次执行此操作并取平均值,我得到了我想要的准确度。我遇到的问题是 k 应该取决于正确输出中 1 的数量。我不知道如何实现这一目标。
编辑:正确的输出(如果我理解它是如何正确工作的)应该已经是一个张量。它是从 .pickle 文件加载的,并在代码开头准备如下:correct_output = tf.placeholder('float')
至于它的样子:它只是一个给定长度的 1 和 0 的列表