Что мне следует использовать: автономную библиотеку Keras или tf.keras?

Поскольку Keras становится API для TensorFlow, появляется множество старых версий кода Keras, например https://github.com/keiserlab/keras-neural-graph-fingerprint/blob/master/examples.py

from keras import models

В текущей версии TensorFlow нам нужно изменять каждый код Keras как?

from tensorflow.keras import models

person jason    schedule 08.01.2019    source источник
comment
Согласно документации, они соответствуют спецификации API Keras, поэтому, похоже, нет необходимости изменить код. Просто убедитесь, что версии выровнены, т.е. pip install keras==<tf.keras.__version__>. Хотя для этого может потребоваться обновление кода, если в рассматриваемом коде используются устаревшие спецификации API.   -  person a_guest    schedule 08.01.2019
comment
Возможный дубликат Что такое разница между Keras и tf.keras в TensorFlow 1.1+?   -  person thepurpleowl    schedule 04.04.2019


Ответы (1)


Вы путаете:

  • Keras (https://keras.io/) - это библиотека, независимая от TensorFlow, которая определяет высокоуровневый API. для построения и обучения нейронных сетей и может использовать один из нескольких бэкэндов (среди которых TensorFlow) для низкоуровневых тензорных вычислений.
  • tf.keras (https://www.tensorflow.org/guide/keras) реализует Keras API. спецификация в TensorFlow. Кроме того, tf.keras API оптимизирован для хорошей работы с другими модулями TensorFlow: например, вы можете передать tf.data Dataset методу .fit() модели tf.keras или преобразовать модель tf.keras в средство оценки TensorFlow с помощью tf.keras.estimator.model_to_estimator. В настоящее время tf.keras API - это API высокого уровня, на который следует обращать внимание при построении моделей в TensorFlow, и интеграция с другими функциями TensorFlow продолжится в будущем.

Итак, чтобы ответить на ваш вопрос: нет, вам не нужно конвертировать код Keras в код tf.keras. Код Keras использует библиотеку Keras, потенциально даже работает поверх другой серверной части, чем TensorFlow, и продолжит нормально работать в будущем. Более того, важно не просто смешивать объекты Keras и tf.keras в одном скрипте, поскольку это может привести к несовместимости, как вы можете видеть, например, в этом вопросе.

Обновление: вместо Keras будет заменено tf.keras: https://twitter.com/fchollet/status/1174019423541157888

person sdcbr    schedule 09.01.2019