在Tensorflow的Inception中增加预测数量

时间:2017-06-14 11:31:15

标签: tensorflow deep-learning

在为常规CPU支持安装Tensorflow for Ubuntu后,我正在阅读有关重新训练Inception的最后一层的培训教程。我成功地使花样例工作但是在切换到具有十个子文件夹的一组新类别后,我无法使Inception为每个输入图像产生十个分数而不是默认的五个。我当前运行测试图像的命令行如下所示,使用标记为0-9的标题。

  

bazel build tensorflow / examples / label_image:label_image&& \   bazel-bin / tensorflow / examples / label_image / label_image \   --graph = / tmp / output_graph.pb --labels = / tmp / output_labels.txt \   --output_layer = final_result \ --input_layer = Mul   --image = $ HOME /输入/ Example.jpg

结果产生

  

5(4):0.642959

     

3(2):0.243444

     

9(8):0.0513504

     

4(5):0.0231318

     

6(7):0.0180509

但是我无法在程序中找到任何内容,以便重新配置生成多少输出分数,以便我的所有十个类别都有分数而不是五分。我该如何改变?

1 个答案:

答案 0 :(得分:0)

我尝试了8个类别,并且能够获得所有这些类别的结果。 如果您的代码低于行

top_k = predictions[0].argsort()[-5:][::-1]

将其更改为

top_k = predictions[0].argsort()[-len(predictions[0]):][::-1]

如果代码包含predictions = np.squeeze(predictions),请使用predictions代替predictions[0]

我使用以下命令而不是bazel来运行它,我发现它更容易。

python /path_to_file/label_image.py /path_to_image/image.jpeg

首先确保在运行retrain.py并且位于正确位置后创建图表。 (默认位于/tmp/)。

相关问题