PyTorchPipe (PTP) - это фреймворк, который облегчает создание и поддержание системы обучения нейросети. PTP разбит на блоки по этапам обучения нейросети, которые связываются в единую систему.
Блоки PTP - это разные этапы создания нейросети: от предобработки данных до тестирования модели, - которые взаимодействуют друг с другом через потоки данных. Каждый поток может состоять из нескольких компонентов: кусок данных для задачи, любое количество обучающих компонентов (моделей) и дополнительные компоненты для обработки данных и вычислений.
В результате процедура обучения и тестирования моделей перестает быть привязанной к задаче и архитектуре модели. В PTP есть встроенные механизмы для проверки совместимости новых данных для созданного пайплайна. Система создана для облегчения разработки комплексных пайплайнов и тестирования моделей.
PyTorchPipe базируется на PyTorch. PyTorch используется в том числе для распределения вычисления на CPU/GPU ресурсах. Тьюториал по работе с PTP доступен по ссылке.
Датасеты
PTP на данный момент содержит в себе базовые датасеты для задач из трех областей:
То, что стандартно называют моделью, в PTP называется пайплайном. Пайплайн состоит из множества взаимосвязанных компонентов с одной или более моделями. Модели - это обучаемые компоненты пайплана.
В PTP встроены модели для задач из четырех областей:
компьютерного зрения;
обработки естественного языка;
модели общего назначения;
визуальная вопросно-ответная система
Для некоторых моделей можно выбрать параметры.
Помимо моделей, в PTP доступны компоненты для работы с данными:
Методы предобработки текстовых данных;
Функции потерь и статистики;
Трансформации формата данных;
Просмотр данных
Воркеры в PTP - это Python-скрипты, которые стандартны для задач, моделей и пайплайнов, с которыми работают. В текущей версии фреймворка доступны три воркера: ptp-offline-trainer, ptp-online-trainer и ptp-processor. Они отвечают за то, как проходит процесс обучения.