Не удается загрузить модель Keras с помощью оптимизатора RectifiedAdam - PullRequest
1 голос
/ 06 марта 2020

При попытке загрузить модель Keras с помощью tf.keras.models.load_model я получаю следующую ошибку:

import tensorflow as tf
from tensorflow_addons.optimizers import RectifiedAdam
model = tf.keras.models.load_model('model', custom_objects = {'RectifiedAdam' : RectifiedAdam})

Ошибка:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/mylib/python3.7/site-packages/tensorflow_core/python/keras/saving/save.py", line 150, in load_model
    return saved_model_load.load(filepath, compile)
  File "/mylib/python3.7/site-packages/tensorflow_core/python/keras/saving/saved_model/load.py", line 99, in load
    training_config))
  File "/mylib/python3.7/site-packages/tensorflow_core/python/keras/saving/saving_utils.py", line 229, in compile_args_from_training_config
    optimizer_config, custom_objects=custom_objects)
  File "/mylib/python3.7/site-packages/tensorflow_core/python/keras/optimizers.py", line 819, in deserialize
    printable_module_name='optimizer')
  File "/mylib/python3.7/site-packages/tensorflow_core/python/keras/utils/generic_utils.py", line 292, in deserialize_keras_object
    config, module_objects, custom_objects, printable_module_name)
  File "/mylib/python3.7/site-packages/tensorflow_core/python/keras/utils/generic_utils.py", line 250, in class_and_config_for_serialized_keras_object
    raise ValueError('Unknown ' + printable_module_name + ': ' + class_name)
ValueError: Unknown optimizer: RectifiedAdam

Я могу загрузить модель с компиляцией в False tf.keras.models.load_model('model', compile=False) и затем скомпилируйте его снова с оптимизатором RectifiedAdam (как предложено здесь: { ссылка }) - однако это не идеально ...

Так что любые идеи о том, что я делаю неправильно

1 Ответ

0 голосов
/ 07 марта 2020

Один быстрый способ взломать это - вручную присвоить RectifiedAdam объекту в пространстве имен Tensorflow:

import tensorflow as tf
from tensorflow_addons.optimizers import RectifiedAdam

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