我正在使用TensorFlow对象识别API。通常,开发人员要做的是建立训练管道,提供一些检查点或tfrecords以开始训练,同时在TensorBoard上监视性能。 这就是我所做的,现在我可以在Tensorboard上看到所有预测的边界框,这些边界框根据迭代次数而变化。 但是,如果我需要获取这些边界框怎么办? 给定图像的代码行是否返回预测的边界框?
答案 0 :(得分:2)
如果您使用sess.run(...)
命令进行推断,它将返回一个python字典对象(例如,称为output_dict
)。它包含模型应返回的所有内容,例如output_dict['detection_boxes'][0]
,output_dict['detection_scores'][0]
和output_dict['detection_classes'][0]
。您可以以常见的“ pythonic”方式遍历此字典。例如:
box_index = 0
for box in output_dict['detection_boxes'][0]:
current_box = box
current_class_id = output_dict['detection_classes'][0][box_index]
current_score = output_dict['detection_scores'][0][box_idx]
# Do something with box
box_index += 1
编辑: 如上所述,您可以使用jupyter笔记本来计算冻结图的“开箱即用”推断。对于生产用途,请查看Tensoflow服务。