Внутренняя ошибка tenorflow-keras при загрузке модели hd5 - PullRequest
0 голосов
/ 24 апреля 2020

Я пытаюсь загрузить обученную модель в aws EC2-машину, и я получаю следующее:

    Traceback (most recent call last):
  File "/home/ubuntu/kraken/krk_modeling/src/services/logger.py", line 51, in wrapper
    return function(*args, **kwargs)
  File "src/wrapper.py", line 81, in execute_pipeline
    conv.build(wkobflow, wkobwthr, wkfcwthr, LOG)
  File "/home/ubuntu/kraken/krk_modeling/src/models/neuralnet.py", line 41, in build
    self.models[s] = load_model(self.PATH + self.FORMAT(s))
  File "/home/ubuntu/kraken/venv/lib/python3.7/site-packages/tensorflow/python/keras/saving/save.py", line 137, in load_model
    return hdf5_format.load_model_from_hdf5(filepath, custom_objects, compile)
  File "/home/ubuntu/kraken/venv/lib/python3.7/site-packages/tensorflow/python/keras/saving/hdf5_format.py", line 162, in load_model_from_hdf5
    custom_objects=custom_objects)
  File "/home/ubuntu/kraken/venv/lib/python3.7/site-packages/tensorflow/python/keras/saving/model_config.py", line 55, in model_from_config
    return deserialize(config, custom_objects=custom_objects)
  File "/home/ubuntu/kraken/venv/lib/python3.7/site-packages/tensorflow/python/keras/layers/serialization.py", line 90, in deserialize
    printable_module_name='layer')
  File "/home/ubuntu/kraken/venv/lib/python3.7/site-packages/tensorflow/python/keras/utils/generic_utils.py", line 192, in deserialize_keras_object
    list(custom_objects.items())))
  File "/home/ubuntu/kraken/venv/lib/python3.7/site-packages/tensorflow/python/keras/engine/network.py", line 1123, in from_config
    process_layer(layer_data)
  File "/home/ubuntu/kraken/venv/lib/python3.7/site-packages/tensorflow/python/keras/engine/network.py", line 1107, in process_layer
    layer = deserialize_layer(layer_data, custom_objects=custom_objects)
  File "/home/ubuntu/kraken/venv/lib/python3.7/site-packages/tensorflow/python/keras/layers/serialization.py", line 90, in deserialize
    printable_module_name='layer')
  File "/home/ubuntu/kraken/venv/lib/python3.7/site-packages/tensorflow/python/keras/utils/generic_utils.py", line 194, in deserialize_keras_object
    return cls.from_config(cls_config)
  File "/home/ubuntu/kraken/venv/lib/python3.7/site-packages/tensorflow/python/keras/engine/base_layer.py", line 451, in from_config
    return cls(**config)
  File "/home/ubuntu/kraken/venv/lib/python3.7/site-packages/tensorflow/python/keras/engine/base_layer.py", line 2417, in __init__
    self.node_def = node_def_pb2.NodeDef.FromString(node_def)
TypeError: a bytes-like object is required, not 'dict'
ERROR      2020-04-24 14:20:18,515 __main__                       <module>                             169 : An error occurred while executing the pipeline. See error log for more info.
ERROR      2020-04-24 14:20:18,515 __main__                       <module>                             170 : a bytes-like object is required, not 'dict'

Я выполняю один и тот же код на моей машине нормально, модели загружаются и запускаются , на EC2 я использую tenorflow 2.0.0b1, ту же версию, что и при обучении. Кроме того, модель находится в производстве на другой машине и обычно загружается. Я попытался переустановить hdf5 и заново установить tenorflow после этого, и все еще получал ошибку. Пожалуйста, помогите =]

...