我正在使用TensorFlow对象识别API。通常,开发人员所做的是设置培训管道,提供一些检查点或tfrecords以开始培训,同时监控TensorBoard上的性能。这就是我所做的,现在我可以看到Tensorboard上所有预测的边界框,它根据迭代次数而变化。但是,如果我需要获得这些边界框怎么办?是否有任何代码行给出一个图像,它返回预测的边界框?
如果您使用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 Serve。