Загрузка ModelCheckpoint в тензор потока 2 - PullRequest
0 голосов
/ 11 октября 2019

В керах, использующих тензор потока 1, я мог ModelCheckpoint(filepath), и сохраненный файл назывался filepath, а затем я мог вызвать model = load_model(filepath) для загрузки сохраненной модели.

Теперь эквивалент в тензор потока 2ModelCheckpoint создает каталог с именем filepath, и когда я следую документации здесь , чтобы загрузить сохраненную модель, мне нужно создать пустую модель, затем вызвать model.load_weights(filepath). Вот мой обратный вызов и подходит:


filepath = "filepath"
checkpoint = tf.keras.callbacks.ModelCheckpoint(filepath=filepath, mode='max', monitor='val_accuracy', verbose=2, save_best_only=True)
callbacks_list = [checkpoint]
model.fit(train_dataset, validation_data=y_test_dataset, validation_steps=BATCH_SIZE, callbacks=callbacks_list, epochs=5000, verbose=2, steps_per_epoch=(X_train_deleted_nans.shape[0]//BATCH_SIZE))

Выполнение model.load_weights(filepath) в другом скрипте я получаю следующую ошибку:

OSError: Unable to open file (unable to open file: name = 'filepath', errno = 13, error message = 'Permission denied', flags = 0, o_flags = 0)

Я хотел бы получить некоторыесправка о том, почему я получаю сообщение об ошибке отказа в разрешении для созданной модели.

1 Ответ

1 голос
/ 11 октября 2019

Попробуйте сохранить контрольные точки, включив расширение .hdf5 при сохранении веса модели.

filepath = "filepath/model.hdf5"
checkpoint = tf.keras.callbacks.ModelCheckpoint(filepath=filepath, mode='max', monitor='val_accuracy', verbose=2, save_best_only=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...