Я следую инструкциям по https://tensorflow -object-detection-api-tutorial.readthedocs.io , чтобы точно настроить предварительно обученную модель для обнаружения новых объектов на изображениях.Предварительно обученная модель: ssd_inception_v2_coco .
Я успешно обучил и оценил модель после нескольких тысяч шагов с потерями от 26 до 1. Однако мне не удалось создать замороженную модель сэтот код:
#this code runs in model dir
import tensorflow as tf
#make .pb file from model at step 1000
saver = tf.train.import_meta_graph(
'./model.ckpt-1000.meta', clear_devices=True)
graph = tf.get_default_graph()
input_graph_def = graph.as_graph_def()
sess = tf.Session()
saver.restore(sess, "./model.ckpt-1000")
#node names
i=0
for n in tf.get_default_graph().as_graph_def().node:
print(n.name,i);
i+=1
#end for
print("total:",i);
output_node_names=[
"detection_boxes","detection_classes",
"detection_scores","num_detections"
];
output_graph_def = tf.graph_util.convert_variables_to_constants(
sess,input_graph_def,output_node_names);
#save to .pb file
output_graph="./model.pb"
with tf.gfile.GFile(output_graph, "wb") as f:
f.write(output_graph_def.SerializeToString());
#end with
sess.close();
Ошибка:
![enter image description here](https://i.stack.imgur.com/BRZ4z.png)
Кажется, что настроенная модель потеряла своюимена выходных узлов .В исходной предварительно обученной модели есть следующие имена выходных узлов (измените файлы контрольных точек в вышеприведенном коде на файлы в исходной обученной модели): display_boxes, removal_classes, detection_scores и num_detections .Имена выходных узлов точно совпадают с исходными, вот их индексы (из вышеприведенного цикла «имя» узла):
![enter image description here](https://i.stack.imgur.com/dsxdU.png)
Мой вопростакое как сохранить имена выходных узлов из исходной предварительно обученной модели ?Имена узлов определены в коде, но здесь нет кода, только некоторые конфиги и файл train.py.
PS.После total_loss есть нечто, называемое summary_op, но я не знаю, является ли это выводом (?):
![enter image description here](https://i.stack.imgur.com/e2IEJ.png)