Большой спрос на цифровые приложения с одной стороны и небольшой рост числа разработчиков с другой, делает разработку IT решений на базе no code или low code платформ весьма актуальным и трендовым мероприятием.

Несмотря на наличие решений для бизнеса, например: viso.ai, cloud.google.com/vision, clarifai.com платформ для обучения известно не так много. Наиболее известные это teachablemachine.withgoogle.com или hub.ultralytics.com. Первая - является довольно простой и может использоваться даже школьниками, поэтому мы подробнее поговорим о второй платформе.

Платформа представляет удобную возможность производить обучение нейронных сетей семейства Yolo для решения различных задач, а также осуществлять деплой моделей и использовать их в режиме инференса. Пожалуй единственным недостатком платформы является невозможность (бесплатно) производить обучение нейронной сети, поэтому данную потребность можно заполнить на основе доступных ресурсов Yandex DataSphere.

Платформа имеет понятный интерфейс и основные рабочие вкладки: "Datasets", "Projects", "Models".

Вкладка "Datasets" используется для размещения новых датасетов или использования существующих. Требования к датасетам достаточно простые и соответствуют требования предъявляемым к разметке данных сетей yolo. На сайте также находится большое количество известных датасетов, поэтому для первичного использования можно не использовать сторонний.

При загрузке "новых" датасетов необходимо выбрать тип задачи

и оформить его в следующем виде

Оформление "нового" датасета
Оформление "нового" датасета

После загрузки датасета производится его индексация с подсчетом числа тренировочных, валидационных и тестировочных данных.

Демонстрация собственного датасета по решению задачи детектирования ламп освещения
Демонстрация собственного датасета по решению задачи детектирования ламп освещения

Далее выбирается предобученная модель Yolo и ресурс где будет производится обучение.

Возможны три варианта: google colab, собственный ПК и ultralitics cloud. Первый вариант ограничен по ресурсам, второй вариант не всегда подходит и возможен, третий - требует платной подписки.

С использованием Yandex DataSphere можно создать собственный проект для обучения нейронной сети. Для этого достаточно создать проект, открыть ноутбук и выполнить две строчки кода

pip install -U ultralytics

и

from ultralytics import YOLO, checks, hub
checks()

hub.login('CODE')

model = YOLO('https://hub.ultralytics.com/models/code')
results = model.train()

после этого в проект скачается предобученная нейронная сеть, датасет, а также все необходимые зависимости и начнется процесс обучения. Важно установить правильное количество эпох для обучения перед тем как запускать обучение. По умолчанию задается 100 эпох что является достаточно долгим мероприятием, поэтому предлагается процесс обучения ограничить до 30-40 эпизодов.

Пример обучения сети на датасете "Диких животных" (настройки по умолчанию)
Пример обучения сети на датасете "Диких животных" (настройки по умолчанию)

На самой платформе можно наблюдать за уменьшением ошибок обучения

Метрики точности
Метрики точности
Различные loss функции
Различные loss функции

По оконачании обучения на вкладке Preview можно "пощупать" качество работы сети. Загрузить пробные картинки из интернета или воспользоваться web камерой, а также поиграться "пороговыми" параметрами.

Решение задачи сегментации посылок для произвольного изображения из интернета
Решение задачи сегментации посылок для произвольного изображения из интернета
Пример интерфейса проекта в Yandex DataSphere
Пример интерфейса проекта в Yandex DataSphere

С использованием данной платформы и Yandex DataSphere возможно достаточно быстро и удобно обучать нейронные сети не имея навыков программирования, что может быть полезно в процессе обучения студентов (например гуманитарных специальностей) или при необходимости быстрого создания mvp продукта или сервиса. Для приведенных выше демонстраций не требуется создание отдельных докер контейнеров или осуществление специальных настроек окружения, прав доступа и ролей.

Комментарии (4)


  1. ret77876
    07.12.2024 22:02

    А я правильно понял, что Yandex DataSphere даёт вычислительные ресурсы бесплатно?

    Первый вариант ограничен по ресурсам, второй вариант не всегда подходит и возможен, третий - требует платной подписки.

    Если да, то какие там ограничения?


    1. s_rinat Автор
      07.12.2024 22:02

      Там при регистрации 4тыс на счёт даётся плюс всегда можно получить грант на образовательные или научные цели. Обычно в течении недели отвечают на заявку


  1. hjarvard
    07.12.2024 22:02

    1. s_rinat Автор
      07.12.2024 22:02

      Спасибо