Я обучил сверточную нейронную сеть, используя Keras 2.2.4 на плате Nvidia Quadro. Я сохранил обученную модель в двух отдельных файлах: один файл (model.json), который описывает архитектуру, и другой файл (model.h5), который имеет все веса.
Я хочу загрузить сохраненную модель на плату Nvidia Jetson TX2, на которой установлен Keras 2.2.2, и пытаюсь сделать это следующим образом:
# load json and create model
json_file = open(prefix+'final_model.json', 'r')
loaded_model_json = json_file.read()
json_file.close()
loaded_model = model_from_json(loaded_model_json)
# load weights into new model
loaded_model.load_weights(prefix+"model.h5")
model = loaded_model
Однако при попытке загрузить я получил следующую ошибку:
Загруженная_модель = model_from_json (загруженная_модель_json)
Файл "/home/nvidia/.local/lib/python3.5/site-packages/keras/engine/saving.py", строка 368, в model_from_json
вернуть десериализацию (config, custom_objects = custom_objects)
Файл "/home/nvidia/.local/lib/python3.5/site-packages/keras/layers/init.py", строка 55, в десериализации
printable_module_name = 'слой')
Файл "/home/nvidia/.local/lib/python3.5/site-packages/keras/utils/generic_utils.py", строка 145, в deserialize_keras_object
Список (custom_objects.items ())))
Файл "/home/nvidia/.local/lib/python3.5/site-packages/keras/engine/sequential.py", строка 292, из from_config
custom_objects = custom_objects)
Файл "/home/nvidia/.local/lib/python3.5/site-packages/keras/layers/init.py", строка 55, в десериализации
printable_module_name = 'слой')
Файл "/home/nvidia/.local/lib/python3.5/site-packages/keras/utils/generic_utils.py", строка 165, в deserialize_keras_object
':' + имя_функции)
ValueError: Неизвестный слой: имя
Я также пытался сохранить всю модель в одном файле, но получил ту же ошибку.
Я пробовал решение из здесь , но не смог его решить.
Кто-нибудь видел эту ошибку раньше? Есть предложения?