Вышли обновления для библиотеки PyTorch и дополнительных библиотек для обработки текста, аудио и изображений. В PyTorch добавился модуль с трансформером, в torchaudio — новые способы трансформации и стандартизации аудиоданных, в torchtext — размеченные датасеты, а в torchvision — поддержку обработки видеоданных.
PyTorch 1.2
Обновление PyTorch 1.2 облегчит использование фреймворка в высоконагруженных системах. TorchScript окружение было улучшено. Эти модификации сделают проще написание production-ready моделей, поддержку моделей формата ONNX и обучение трансформера. В дополнении к новым возможностям, TensorBoard включили в стабильную версию библиотеки.
Улучшения в TorchScript
С PyTorch 1.0 TorchScript предоставлял возможность запускать PyTorch модели в production. TorchScript компилятор конвертирует модель в статически типизированную графовую репрезентацию. Это открывает возможности для оптимизации и выполнения кода в ограниченных условиях, когда Python недоступен.
PyTorch 1.2 значительно расширяет поддержку TorchScript и предоставляет новое API для компилирования моделей в TorchScript.
Трансформер в PyTorch
В PyTorch 1.2 теперь доступен модуль nn.Transformer. Это стандартная реализация трансформера из работы “Attention is All You Need”. Модуль nn.Transformer опирается полностью на механизм внимания. Индивидуальные компоненты модуля разработаны так, что могут быть отдельно конфигурируемы при желании.
Новое API включает в себя:
- nn.Transformer;
- nn.TransformerEncoder и nn.TransformerEncoderLayer;
- nn.TransformerDecoder и nn.TransformerDecoderLayer
Архитектура трансформера
Обновления библиотек для текста, аудио и изображений
Библиотеки torchvision, torchtext и torchaudio предоставляют удобный доступ к популярным датасетам, моделям и способам предобработки данных, которые могут быть использованы для создания базовых моделей.
Torchaudio 0.3 с новыми трансформациями
Torchaudio специализируется на машинной обработки аудио в формате волн. Это библиотека, которая облегчает загрузку и обработку данных. Доступные способы предобработки данных включают в себя: спектограммы, ресемплинг и mu-law кодирование и декодирование. Функционал для ресемплинга был добавлен в последнем обновлении.
Torchtext 0.4 и размеченные датасеты
Torchtext фокусируется на обработке естественного языка. В текущем обновлении разработчики добавили популярные наборы текстовых данных для классификации:
- AG_NEWS;
- SogouNews;
- DBpedia;
- YelpReviewPolarity;
- YelpReviewFull;
- YahooAnswers;
- AmazonReviewPolarity;
- AmazonReviewFull
Torchvision 0.4 и поддержка видеоданных
Библиотека для обработки изображений теперь поддерживает обработку видео. Это включает базовые предобученные модели, загрузку данных и трансформации над данными.