Я пытаюсь использовать предварительно обученную модель обнаружения объектов из зоопарк моделей Tensorflow. По сути, я выбрал faster_rcnn_inception_resnet_v2_atrous_oidv4
, обученный на наборе данных Open Images.
Вот мой код:
import tensorflow as tf
# restore the deep model
sess=tf.Session()
#First let's load meta graph and restore weights
saver = tf.train.import_meta_graph('pretrained/faster_rcnn_inception_resnet_v2_atrous_oid_v4_2018_12_12/model.ckpt.meta')
saver.restore(sess, tf.train.latest_checkpoint('pretrained/faster_rcnn_inception_resnet_v2_atrous_oid_v4_2018_12_12/'))
# Now, let's access and create placeholders variables and
# create feed-dict to feed new data
graph = tf.get_default_graph()
X = graph.get_tensor_by_name('image_tensor:0')
feed_dict ={X: image_raw_feature}
#Now, access the op that we want to run.
num_detections = graph.get_tensor_by_name('num_detections:0')
detection_scores = graph.get_tensor_by_name('detection_scores:0')
detection_boxes = graph.get_tensor_by_name('detection_boxes:0')
x1, x2, x3 = sess.run(
[num_detections, detection_scores, detection_boxes],
feed_dict
)
Выходы x1, x2, x3
имеют формы 4
, [4, 100]
и [4, 100, 4]
. Проблема в том, что я не знаю, как преобразовать результат в удобочитаемые метки. Я предполагаю, что общее количество категорий объектов равно 100, как указано в x2
? Но это кажется очень маленьким по сравнению с тем, что описано в наборе данных Открытые изображения.
Как я могу расшифровать выходы на метки?