Как тренировать модель с оставшимися эпохами после того, как длительная сессия закончилась в Google Colab Laboratory.? - PullRequest
0 голосов
/ 28 января 2019

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

Что мне нужно сделать, чтобы обучить мою модель в незавершенные эпохи после окончания сеанса в Google Colab Laboratory?

Ответы [ 2 ]

0 голосов
/ 01 февраля 2019

Вам придется сохранять контрольные точки через некоторый интервал.Если ваши эпохи выполняются быстро, вы можете сохранить модель после 5-10 эпох, в противном случае сохраните ее после каждой эпохи.И проверьте код, чтобы перечитать последнюю контрольную точку (основываясь на некоторых соглашениях об именах).Теперь какие проблемы с этим.

  1. Так как это Collaboratory и это бесплатно, они не дают вам выделенный экземпляр GPU, и поэтому он может отключиться в любое время, когда вы обновляете браузер /закрыть браузер / потерять подключение к Интернету и т. д.
  2. С этим уходит ваше временное хранилище.
  3. Плюс кооперирование дает вам ограниченный объем хранилища для ваших данных и модели.

Таким образом, вам необходимо сохранить контрольные точки в некотором «ПРОСТОЙ» хранилище.Сотрудничество поддерживает Google Drive.Вы можете проверить, как сохранить ваши файлы там.Также вам придется проверить, как читать оттуда.

Или, если вы ищете какую-то альтернативу.Спот-экземпляр AWS может быть разумным выбором (однако он оплачивается, и если вы можете получить некоторые студенческие кредиты откуда-то, вы можете использовать его).Отметим, что Colab - это тоже точечный экземпляр от Google.Вы также можете перейти на www.crestle.com, стоит 3 цента в час.

0 голосов
/ 01 февраля 2019

FAQ для Колаборатории включает в себя следующие утверждения:

  1. Что такое Колаборатория? Колаборатория - это исследовательский инструмент для машинного обучения и исследований.
  2. Колаборатория предназначена для интерактивного использования.Длительные фоновые вычисления, особенно на графических процессорах, могут быть остановлены.... Мы рекомендуем пользователям, которые хотят выполнять непрерывные или длительные вычисления через пользовательский интерфейс Colab Laboratory, использовать локальное время выполнения .

Обучение модели ML обычно требует длительноготекущие вычисления.Поэтому я рассматриваю следующие варианты:

  1. Использовать локальное время выполнения , как предложено.Это может быть облачная виртуальная машина или ваш ноутбук.
  2. Использование Cloud DataLab - Вы контролируете (и оплачиваете) ресурсы виртуальной машины в облаке Google.
  3. Контрольная точка в каждую эпохуи сохранить контрольную точку и веса в постоянном хранилище.См. поваренная книга ввода / вывода .Затем перезапустите тренировку с контрольной точки, если ноутбук будет перезагружен.

Вариант 3 может оказаться самым легким для начала, учитывая, что ваше обучение почти завершено в Колаборатории.Это зависит от того, какие библиотеки вы используете, и поддерживают ли они это.

Если вы выполняете большие вычисления, посмотрите на использование локальной среды выполнения или DataLab.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...