Извлеките веса из графика TensorFlow, чтобы использовать их в Керасе - PullRequest
0 голосов
/ 30 сентября 2018

у меня есть график Tensorflow (output_graph.pb), который я получил, выполняя трансферное обучение в Inception V3, следуя этому учебному пособию .Теперь мне нужно извлечь веса отдельных слоев, чтобы импортировать их в модель, созданную с помощью Keras.Я знаю, что невозможно напрямую преобразовать граф из тензорного потока в модель кераса ( см. Здесь ).

1 Ответ

0 голосов
/ 30 сентября 2018

Вы можете получить веса отдельных слоев в виде массива NumPy в контексте сеанса TensorFlow, вызвав sess.run(var) для обучаемого тензора веса var.В модели Keras веса указанного слоя могут быть установлены вручную с помощью model.layers[index].set_weights([weight_matrix, bias_vector]), где model является экземпляром последовательной или функциональной модели.

Обратите внимание, что вам также потребуется получить обучаемый вектор смещения в сценарии TensorFlow аналогично получению матрицы весов, поскольку слой Dense в модели Keras ожидает и весовой тензор, ивектор смещения подается в виде списка массивов NumPy.

...