Загрузите файл модели pb в TensorFlowSharp - PullRequest
0 голосов
/ 15 мая 2018

У меня есть некоторый опыт работы с Keras, и я изучаю TensorFlowSharp (https://github.com/migueldeicaza/TensorFlowSharp).. Используя проект ExampleInceptionInference, я хочу использовать модель, которую я обучил в своем коде Python Keras.

(я создал a.pb файл, используя @jdehesa, ответьте здесь: Как экспортировать Keras .h5 в tenorflow .pb? )

Когда я загружаю файл модели .pb в TensorFlowSharp, эта строка завершается ошибкой:

runner.AddInput (graph ["input"] [0], tensor).Fetch (graph ["output"] [0]);

Кажется, что график ["input"] и график ["output"] равны нулю. Нужно ли мне называть слои в моей модели, возможно?

Модель Keras, которую я использую, является модифицированной ипереподготовленная версия VGG16.

Можно ли вывести список именованных слоев в TensorFlowSharp? Или есть возможность ссылаться на них другим способом? (по номеру?)

Ответы [ 3 ]

0 голосов
/ 20 марта 2019

В конце концов, я нашел два способа решения этой проблемы. Один из них - посмотреть на файл pb в формате HxD и найти там названия слоев. Входной слой легко найти прямо вверху файла:

HxD view of the pd file

Выходной слой труднее найти. Но вариант 2 для решения этой проблемы - назвать слой:

outputlayer.name = "output"

Однако при загрузке слоя имя немного отличается и включает тип активации. В этом случае это «output / Softmax», и вы можете найти это в двоичном файле pb.

0 голосов
/ 08 мая 2019

Я столкнулся с той же проблемой с TensorFlowSharp. Самый простой способ найти входные и выходные имена - загрузить модель в Netron (https://github.com/lutzroeder/netron),, которая визуально отображает модель. Вы можете щелкнуть по самому первому узлу, чтобы увидеть входные данные «id:» и самый последний узел). свойство 'name'.

0 голосов
/ 20 августа 2018

Метод GetEnumerator () TFGraph позволяет вам перечислить все операции.

List<TFOperation> op_list = new List<TFOperation>( graph.GetEnumerator() );

Вы можете проверить имя и тип операции TFOperation, чтобы увидеть, что на графике.

...