Модель Keras, обученная с использованием нескольких графических процессоров, не загружаемых на компьютере без графического процессора - PullRequest
1 голос
/ 12 февраля 2020

При загрузке сгенерированного файла h5 я получаю следующую ошибку:

ValueError: Модель не найдена в файле конфигурации.

Я прочитал об этом и узнал что мне нужно перезагрузить модель и сохранить ее для 0 GPU машины, как написано в: https://github.com/keras-team/keras/issues/11253#issuecomment -482467792

При выполнении, как сказано там, и добавил следующий раздел:

x , y = build_resnet(x_train.shape[1:], 64, nb_classes)
model = keras.models.Model(inputs=x, outputs=y)
p_model = multi_gpu_model(model)
old_model = p_model.layers[-2]
old_model.save(save_path)

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

ValueError: Чтобы использование нескольких графических процессоров было эффективным, вызовите multi_gpu_model с gpus >= 2. Получено: gpus=0

Когда я пытаюсь ввести следующий код:

model = keras.models.Model(inputs=x, outputs=y)
model.load_weights('resNet_trained_on_multi.h5')

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

ValueError: Вы пытаясь загрузить файл весов, содержащий 0 слоев, в модель с 26 слоями.

Что я могу сделать, чтобы восстановить вес / модель с множеством графических процессоров, которые я сохранил? У меня есть следующие файлы (все сгенерированные одновременно):

  • resNet_trained_on_multi.h5 - размер 6 КБ
  • resNet_trained_on_multi.ckpt.data-00000-of-00001 - размер 12 МБ
  • resNet_trained_on_multi.ckpt.index - размер 23 КБ
  • resNet_trained_on_multi.ckpt.meta - размер 4 МБ

, созданный с использованием следующего кода сохранения:

def saveModel(model):
    saver = tf.train.Saver()
    h5_file = 'resNet_trained_on_multi.h5'
    ckpt_file = 'resNet_trained_on_multi.ckpt'

    saver.save(kerasBackend.get_session(), ckpt_file)
    print("[OUTPUT] Checkpoint saved to: " + ckpt_file)

    model.save(h5_file)
    print("[OUTPUT] H5 Model saved to: " + h5_file)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...