ValueError: Неизвестный слой: имя при попытке загрузить модель в keras - PullRequest
1 голос
/ 07 мая 2020

Я обучил модель классификации «Кошки против собак» в Google Colab, затем загрузил модель, ее веса и файл. json с описанием ее структуры, но всякий раз, когда я пытаюсь запустить следующий код:

#read model structure from .json file
with open('./models/cats_vs_dogs_1-15.json', 'r') as json_file:
        json_savedModel = json_file.read()

#load model architecture
model_x = tf.keras.models.model_from_json(json_savedModel)

Я получаю следующую ошибку:

Traceback (most recent call last):
  File "ddw.py", line 8, in <module>
    model_x = tf.keras.models.model_from_json(json_savedModel)
  File "/home/hmrbcnt/Documents/thesis/try_2.1.5/trial/lib/python3.6/site-packages/tensorflow/python/keras/_impl/keras/models.py", line 361, in model_from_json
    return layer_module.deserialize(config, custom_objects=custom_objects)
  File "/home/hmrbcnt/Documents/thesis/try_2.1.5/trial/lib/python3.6/site-packages/tensorflow/python/keras/_impl/keras/layers/serialization.py", line 63, in deserialize
    printable_module_name='layer')
  File "/home/hmrbcnt/Documents/thesis/try_2.1.5/trial/lib/python3.6/site-packages/tensorflow/python/keras/_impl/keras/utils/generic_utils.py", line 164, in deserialize_keras_object
    list(custom_objects.items())))
  File "/home/hmrbcnt/Documents/thesis/try_2.1.5/trial/lib/python3.6/site-packages/tensorflow/python/keras/_impl/keras/models.py", line 1333, in from_config
    layer = layer_module.deserialize(conf, custom_objects=custom_objects)
  File "/home/hmrbcnt/Documents/thesis/try_2.1.5/trial/lib/python3.6/site-packages/tensorflow/python/keras/_impl/keras/layers/serialization.py", line 63, in deserialize
    printable_module_name='layer')
  File "/home/hmrbcnt/Documents/thesis/try_2.1.5/trial/lib/python3.6/site-packages/tensorflow/python/keras/_impl/keras/utils/generic_utils.py", line 184, in deserialize_keras_object
    function_name)
ValueError: Unknown layer:name

Сейчас я использую тензорный поток v1.5, так как мой процессор не поддерживает avx, а Keras 2.1.5, так как использование Keras 2.3 приводит к ошибка с tf_utils. Я также не использую никаких пользовательских слоев в модели. То же самое происходит, когда я пытаюсь загрузить модель или ее веса.

Я также пробовал обучать модель с использованием версии 1.x tenorflow на colab, но все равно получаю ту же ошибку, когда загружая его локально. Если кто-нибудь может мне помочь, я буду очень признателен. Спасибо!

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