1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/echo_lin-big-gan

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
tutorial.md 8.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 18:10 4e40bbb

Data Path in OBS — это путь к полному пути модели, которая используется для подготовки данных на этапе обучения. Например, я храню набор данных для обучения в OBS.

Обратите внимание, что не все наборы данных для обучения разделены на train и val, здесь мы просто объясняем, как настроить параметр «Data Path in OBS».

Итак, в «Data Path in OBS» я пишу /zhonglin-public/dataset/cat/. Обратите внимание, что поля без «obs:/» в начале. Кроме того, данные внутри могут быть исходными изображениями JPEG или данными tfrecords после офлайн-обработки. Если объём данных изображения большой, рекомендуется использовать данные tfrecords, потому что небольшие файлы занимают больше времени при передаче через OBS; кроме того, во время обучения модели можно разделить обучающие данные на пакеты и загрузить их в память, иначе легко может произойти переполнение памяти.

Результаты выполнения

В интерфейсе Pycharm вы можете увидеть распечатанное изображение ниже.

Кроме того, чтобы оценить текущую ситуацию с генератором GAN-сети во время процесса обучения, мы установили сохранение результатов генератора каждые 500 итераций. Сохранённые данные можно просмотреть в папке result в настроенном пути OBS PATH, в этом примере путь OBS PATH установлен как /linccnu/log.

Чтобы загрузить папку result из OBS на локальный диск, можно увидеть, что по мере увеличения количества итераций информация о кошках в результатах становится богаче.

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

1 epoch:

3 epoch:

9 epoch:

Следует отметить, что вышеупомянутые результаты были получены после примерно 30 минут обучения с 10 эпохами по умолчанию. Если вы хотите получить более богатые результаты, разработчики могут изменить значение количества эпох в файле run_modelarts_1p.sh. Однако следует отметить, что набор данных cat, полученный по ссылке, является лишь частью официального набора данных. Если вам нужно обучить конечный желаемый результат, вам необходимо загрузить полный набор данных и провести обучение с несколькими эпохами.


Другие

  1. Принцип работы Modelarts

Modelarts создаёт новый Docker-контейнер каждый раз, когда запускается задача. Когда обучение завершается или возникает ошибка, контейнер автоматически уничтожается, освобождая ресурсы NPU, а код и данные удаляются.

  1. Об OBS

Obs (Object Storage Service) — это сервис хранения объектов на основе протокола S3. Мы не можем напрямую использовать этот путь в коде обучения, нам нужно использовать интерфейс moxing mox.file.copy_parallel для копирования данных обучения из папки obs в контейнер задачи modelarts. Кроме того, в созданном контейнере NPU ModelArts будет смонтирован жёсткий диск в каталог «/cache», где пользователи могут хранить временные файлы. Каталог «/cache» совместно использует ресурсы с каталогом кода, и разные ресурсы имеют разные размеры. В частности, ёмкость составляет 3 Тб для NPU Ascend.

  1. Проблема производительности копирования данных

Как насчёт производительности при загрузке данных tfrecords размером 10 ГБ или даже 100 ГБ из OBS в контейнер modelarts? Я провёл простой тест на своём компьютере и написал следующий код:

# copy dataset from obs to local
start = datetime.datetime.now()
print("===>>>Copy files from obs:{} to local dir:{}".format(config.data_url, config.cache_data_dir))
mox.file.copy_parallel(src_url=config.data_url, dst_url=config.cache_data_dir)
end = datetime.datetime.now()
print("===>>>Copy from obs to local, time use:{}(s)".format((end - start).seconds))
files = os.listdir(config.cache_data_dir)
print("===>>>Files number:", len(files))

Через этот код я измерил время, затраченное на загрузку данных размером около 8,3 ГБ из OBS в локальную папку modelarts, которое составило примерно 25 секунд. Для больших наборов данных, таких как 100 ГБ tfrecords, требуется примерно 3 минуты. Здесь рекомендуется копировать большие файлы, такие как tfrecords и сжатые файлы.

Наконец, после отправки задачи обучения с помощью плагина pycharm + modelarts вы можете найти её в веб-интерфейсе (https://console.huaweicloud.com/modelarts/?region=cn-north-4#/trainingJobs) в разделе «Управление обучением» — «Задачи обучения». Обратите внимание, что Pycharm IDE позволяет отправлять только одну задачу за раз. Текущие обычные учётные записи Huawei Cloud могут обучать только на одном узле в modelarts.

Вы также можете отслеживать отправленные задачи обучения в Pycharm IDE. На данный момент вы можете отправить только одну задачу одновременно. Обычные учётные записи Huawei Cloud в настоящее время могут обучаться только на одном узле modelarts.

Больше информации о том, как использовать инструменты pycharm toolkit, вы можете найти по ссылке https://support.huaweicloud.com/tg-modelarts/modelarts_15_0007.html.

  1. Проблемы с журналами

Журналы текущего обучения моделей можно получить через экран печати в IDE или в папке MA_LOG в текущем каталоге проекта Pycharm, или вы можете получить их, установив путь журнала в конфигурации. 6. NPU утилизация Чтобы понять, происходит ли текущее обучение на платформе свёрточных нейронных сетей (CNN) ModelArts на ускорителе Ascend 910, можно посмотреть на использование ресурсов в текущем задании обучения в интерфейсе ModelArts. Если значение кривой NPU не равно нулю, то обучение точно выполняется на NPU.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/echo_lin-big-gan.git
git@api.gitlife.ru:oschina-mirror/echo_lin-big-gan.git
oschina-mirror
echo_lin-big-gan
echo_lin-big-gan
master