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, полученный по ссылке, является лишь частью официального набора данных. Если вам нужно обучить конечный желаемый результат, вам необходимо загрузить полный набор данных и провести обучение с несколькими эпохами.
Другие
Modelarts создаёт новый Docker-контейнер каждый раз, когда запускается задача. Когда обучение завершается или возникает ошибка, контейнер автоматически уничтожается, освобождая ресурсы NPU, а код и данные удаляются.
Obs (Object Storage Service) — это сервис хранения объектов на основе протокола S3. Мы не можем напрямую использовать этот путь в коде обучения, нам нужно использовать интерфейс moxing mox.file.copy_parallel для копирования данных обучения из папки obs в контейнер задачи modelarts. Кроме того, в созданном контейнере NPU ModelArts будет смонтирован жёсткий диск в каталог «/cache», где пользователи могут хранить временные файлы. Каталог «/cache» совместно использует ресурсы с каталогом кода, и разные ресурсы имеют разные размеры. В частности, ёмкость составляет 3 Тб для NPU Ascend.
Как насчёт производительности при загрузке данных 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.
Журналы текущего обучения моделей можно получить через экран печати в IDE или в папке MA_LOG в текущем каталоге проекта Pycharm, или вы можете получить их, установив путь журнала в конфигурации. 6. NPU утилизация Чтобы понять, происходит ли текущее обучение на платформе свёрточных нейронных сетей (CNN) ModelArts на ускорителе Ascend 910, можно посмотреть на использование ресурсов в текущем задании обучения в интерфейсе ModelArts. Если значение кривой NPU не равно нулю, то обучение точно выполняется на NPU.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )