2016-11-03 3 views
3

Я начну этот пост, сказав, что я признаю, что это не может быть подходящим местом для этого вопроса, но не был уверен, где еще начать. Если есть более подходящий канал SE, не стесняйтесь предлагать.Можно ли вернуть код тензорного потока из скомпилированной модели Keras?

Я использовал Keras для изучения способов применения нейронных сетей к различным задачам прогнозирования. Я заинтересован в изучении TensorFlow как способа получить более глубокое понимание внутренней работы этих сетей. Очевидно, что можно переключить сервер Keras на TensorFlow и использовать Keras в качестве API высокого уровня для TensorFlow. Однако есть ли способ «восстановить» код TensorFlow из скомпилированной модели Keras? Я думаю, что было бы очень полезно написать модель, которую я знаю в Keras, и автоматически увидеть ее «перевод» в TensorFlow, чтобы быстрее изучить эту библиотеку.

Любые мысли или предложения были бы полезными. Спасибо за прочтение.

ответ

1

Все, что делает Keras, - это аннотация как Theano, так и TensorFlow в одном объединенном бэкэнд-модуле. Затем он использует функции в бэкэнд для реализации слоев и методов, которые вы можете использовать в Keras.

Это, в свою очередь, означает, что не существует этапа компиляции, участвующего в генерации кода для одного конкретного бэкэнд. Оба Theano и TensorFlow являются библиотеками python, нет причин для перевода, Keras просто использует указанную вами библиотеку.

Лучший способ узнать, как модель в Keras написана в TensorFlow, - это, вероятно, поиск простой сети с одним и тем же набором данных и сравнение примеров в TensorFlow и Keras. Другим способом было бы прочитать код Keras и найти K.<function> в базовом модуле TensorFlow.

Если вас интересует конкретный код платформы, который производит отдельные бэкэнды, например. код CUDA, тогда ответ будет: это зависит. Оба Theano и TensorFlow используют временные каталоги для хранения кода и источников. Для theanano это ~/.theano по умолчанию. Но просмотр этого кода, вероятно, не сделает вас более разумным в понимании нейронных сетей и их механики.

Смежные вопросы