fbpx
  • PyTorchPipe: инструмент для обучения нейросетей от IBM

    PyTorchPipe (PTP) — это фреймворк, который облегчает создание и поддержание системы обучения нейросети. PTP разбит на блоки по этапам обучения нейросети, которые связываются в единую систему. 

    Блоки PTP — это разные этапы создания нейросети: от предобработки данных до тестирования модели, — которые взаимодействуют друг с другом через потоки данных. Каждый поток может состоять из нескольких компонентов: кусок данных для задачи, любое количество обучающих компонентов (моделей) и дополнительные компоненты для обработки данных и вычислений.

    В результате процедура обучения и тестирования моделей перестает быть привязанной к задаче и архитектуре модели. В PTP есть встроенные механизмы для проверки совместимости новых данных для созданного пайплайна. Система создана для облегчения разработки комплексных пайплайнов и тестирования моделей.

    PyTorchPipe базируется на PyTorch. PyTorch используется в том числе для распределения вычисления на CPU/GPU ресурсах. Тьюториал по работе с PTP доступен по ссылке.

    Датасеты

    PTP на данный момент содержит в себе базовые датасеты для задач из трех областей:

    • компьютерного зрения (MNIST, CIFAR);
    • обработки естественного языка (WiLY, WikiText, ANKI);
    • визуальные вопросно-ответные системы (CLEVR, GQA, ImageCLEF VQA)
    Доступные датасеты по задачам

    Архитектура

    То, что стандартно называют моделью, в PTP называется пайплайном. Пайплайн состоит из множества взаимосвязанных компонентов с одной или более моделями. Модели — это обучаемые компоненты пайплана.

    В PTP встроены модели для задач из четырех областей:

    • компьютерного зрения;
    • обработки естественного языка;
    • модели общего назначения;
    • визуальная вопросно-ответная система

    Для некоторых моделей можно выбрать параметры.

    Доступные модели по областям применения

    Помимо моделей, в PTP доступны компоненты для работы с данными:

    • Методы предобработки текстовых данных;
    • Функции потерь и статистики;
    • Трансформации формата данных;
    • Просмотр данных
    Список доступных опций для работы с данными

    Воркеры в PTP — это Python-скрипты, которые стандартны для задач, моделей и пайплайнов, с которыми работают. В текущей версии фреймворка доступны три воркера: ptp-offline-trainer, ptp-online-trainer и ptp-processor. Они отвечают за то, как проходит процесс обучения. 

    Подробное описание инструмента доступно в официальном репозитории на GitHub.