Когда я запускаю обучающий код глубокого обучения в Google Colab, сохраняются ли где-нибудь полученные веса и смещения? - PullRequest
1 голос
/ 07 января 2020

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

Я новичок в углубленном изучении, но мой вопрос:

Как только тетрадь Google Colab закончит обучение означает ли это, что полученные веса и смещения будут жестко записаны в модель где-нибудь (в папке репозитория, которая есть на моем Google Диске), и поэтому я могу в любой момент запустить код на любых тестовых данных, которые мне нравятся в будущем? Или, когда я закрою блокнот Google Colab, потеряю ли я информацию о весе и смещении, и мне придется снова запускать учебный сценарий, если я хочу использовать нейронную сеть?

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

Любая помощь в понимании будет принята с благодарностью.

1 Ответ

4 голосов
/ 07 января 2020

Нет ; Colab поставляется без встроенной контрольной точки; любое сохранение должно быть сделано пользователем - поэтому, если код репозитория не делает этого, это ваше дело.

Обратите внимание, что репо должно было бы выяснить, как подключиться к удаленному серверу (или подключиться к локальному устройству) для передачи данных; просматривая его train.py , такого нет.


Как сохранить модель? См. this SO ; для минимальной версии - самый распространенный и надежный вариант - это «смонтировать» ваш Google Drive на Colab и указать пути сохранения / загрузки для прямого

from google.colab import drive
drive.mount('/content/drive') # this should trigger an authentication prompt
%cd '/content/drive/My Drive/'
# alternatively, %cd '/content/drive/My Drive/my_folder/'

После того, как cd'd, например, DL Code в вашем My Drive (см. Ниже) вы можете просто сделать model.save("model0.h5"), и это создаст model0.h5 в DL Code, содержащем всю архитектуру модели и ее оптимизатор. Для веса просто используйте model.save_weights().

image

...