tf 2.0 AttributeError: у модуля tenorsflow нет атрибута get_default_session - PullRequest
0 голосов
/ 29 октября 2019

Я конвертирую свой код mnist cnn ML в tf 2.0. коды работали хорошо в tf 1.13

После переключения на tf 2.0 и его изменения на этапе подбора модели произошла ошибка.

code

annealer = LearningRateScheduler(lambda x: 1e-3 * 0.95 ** x)
batch_size = 100
epochs = 30
history = model.fit_generator(datagen.flow(X_train,Y_train, batch_size=batch_size),
                              epochs = epochs, 
                              validation_data = (X_val,Y_val),
                              verbose = 1, 
                              steps_per_epoch=X_train.shape[0] // batch_size,
                              callbacks=[annealer])  

error

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-39-d1e7a6160362> in <module>()
      7                               verbose = 1,
      8                               steps_per_epoch=X_train.shape[0] // batch_size,
----> 9                               callbacks=[annealer])  

5 frames
/usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py in get_session()
    188     global _SESSION
    189 
--> 190     default_session = tf.get_default_session()
    191 
    192     if default_session is not None:

AttributeError: module 'tensorflow' has no attribute 'get_default_session'

, если я уберу 'callback' или переключу model.fit без опции callbacks, все работает хорошо.

и я предполагаю, что это какая-то проблема несовместимости.

Любое предложение о том, как правильно реализовать обратный вызов, чтобы я мог сделать переменную lr?

спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...