Я пробовал этот пример использования сохраненной модели Tensorflow на С++ на этом веб-сайте: https://medium.com/jim-fleming/loading-a-tensorflow-graph-with-the-c-api-4caaff88463f#.ji310n4zo
Это работает хорошо. Но он не сохраняет значения переменных a и b, поскольку сохраняет только график, а не переменные. . Я попытался заменить следующую строку:
tf.train.write_graph(sess.graph_def, 'models/', 'graph.pb', as_text=False)
с
saver.save(sess, 'models/graph', global_step=0)
конечно после создания объекта заставки. Не работает и выдает:
Не найдено: FeedInputs: не удалось найти выходные данные фида
Я проверил узлы, которые загружены, и они только:
_ИСТОЧНИК
_РАКОВИНА
в то время как в функции write_graph, а затем загрузить модель в C++, я загрузил следующие узлы:
_ИСТОЧНИК
_РАКОВИНА
сохранить/восстановить_slice_1/shape_and_slice
сохранить/восстановить_slice_1/tensor_name
сохранить/восстановить_срез/shape_and_slice
сохранить/восстановить_слайс/tensor_name
сохранить/сохранить/shapes_and_slices
сохранить/сохранить/tensor_names
сохранить/постоянный
сохранить/восстановить_slice_1
сохранить/восстановить_slice
b
сохранить/назначить_1
хлеб
б/начальное_значение
б/назначить
a
сохранить/назначить
сохранить/восстановить_все
сохранить/сохранить
сохранить/control_dependency
а/читать
c
а/начальное_значение
а/назначить
в этом
Тензор
и даже файл графа, созданный saver.save(), намного меньше, 165 байт, по сравнению с файлом, созданным write_graph, 1,9 КБ.