Невозможно загрузить веса модели, сохраненные в GCP с помощью keras.save_weights. Необходимо перевести на новый ковш для загрузки грузов - PullRequest
0 голосов
/ 13 июля 2020

Я тренируюсь на Google Colab с данными и весами моделей, загруженными из / сохраненными в GCP. Я использую обратные вызовы Keras, чтобы сохранить веса в GCP. Вот как выглядит обратный вызов

callbacks = [tf.keras.callbacks.ModelCheckpoint(filepath='gs://mybucket/'+ 'savename' + '_loss_{loss:.2f}',
                                                monitor='loss',
                                                verbose=1,
                                                save_weights_only=True,
                                                save_freq='epoch')]

Обучение успешно сохраняет веса модели в моем ведре GCP, но когда я пытаюсь загрузить эти веса в новом сеансе, ячейка просто зависает, Я ждал час, прежде чем сдаться. Сначала я подумал, что это связано с обучением TPU / GPU, но я также пробовал на экземпляре CPU, и веса не загружались.

Вот пример кода

model = get_model(**config)
model.load_weights('gs://mybucket/savename_loss_0.13')

Чтобы проверить веса модели, я загрузил их прямо в свой colab

!gsutil -m cp -r gs://mybucket/* /content/

и загрузил модель с весами, сохраненными в colab, и она сработала . Тогда я предположил, что права доступа к корзине были как-то разными, но это не так.

Для всех файлов класс Storage стандартный, а контроль доступа стандартный.

Итак, я создал новое ведро и загрузил веса из моего колаба в новое ведро, и из этого нового ведра я смог загрузить веса в течение нескольких секунд. Я подтвердил, что вес правильный. Для ясности, это те же веса, которые я загрузил из исходного ведра в локальную среду google colab.

Тогда мне было интересно, были ли каким-то образом разные разрешения между старым и новым ведрами, но в консоли они все имеют одинаковые атрибуты, регион, шифрование и т. д. c. Оба сегмента также имеют одни и те же атрибуты.

Единственное, о чем я могу думать, это то, что есть какой-то атрибут, который я не замечаю, который не отображается ни в консоли сегмента, ни в файловой консоли.

...