Исследования

PyTorch перенесла медиаввод и вывод в TorchCodec

PyTorch Foundation описала новую структуру медиастека: TorchCodec отвечает за декодирование и кодирование, а TorchVision и TorchAudio — за преобразование данных. Одновременно часть прежних API объявлена устаревшей или удалена.

Иллюстрация AIFoxNews к материалу: PyTorch перенесла медиаввод и вывод в TorchCodec
Иллюстрация AIFoxNews

PyTorch Foundation описала, как за последние два года изменилась работа с медиаданными в экосистеме PyTorch. Декодирование и кодирование изображений, видео и аудио теперь сосредоточены в TorchCodec, который работает на CPU и CUDA. TorchVision и TorchAudio сфокусированы на преобразовании уже декодированных данных.

Такое разделение должно упростить выбор инструментов: TorchCodec превращает медиафайлы или закодированные байты в тензоры, а TorchVision и TorchAudio обрабатывают эти тензоры. Для обратного процесса предусмотрено кодирование результатов в медиафайлы. В материале приведены примеры VideoDecoder и AudioDecoder вместе с преобразованиями из соответствующих библиотек.

Изменение требует внимания при миграции: API декодирования и кодирования, ранее находившиеся в TorchVision и TorchAudio, объявлены устаревшими или удалены. При этом все три библиотеки теперь ABI-стабильны и не привязаны к одной версии PyTorch, поэтому их релизы больше не обязаны совпадать с релизами основной платформы.

Почему это важно

Разработчикам медиамоделей нужно учитывать новое разделение обязанностей библиотек и проверять совместимость прежних API. Для новых проектов схема становится понятнее: TorchCodec отвечает за ввод и вывод медиа, а TorchVision и TorchAudio — за преобразования.

Ответ строится только по опубликованным материалам сайта и может содержать ошибки — важное проверяйте по первоисточнику.