PyTorch

PyTorch

Распространяется под лицензий BSD

Фреймворк машинного обучения для языка Python с открытым исходным кодом, созданный на базе Torch. Используется для решения различных задач: компьютерное зрение, обработка естественного языка. Разрабатывается преимущественно группой искусственного интеллекта Facebook. Также вокруг этого фреймворка выстроена экосистема, состоящая из различных библиотек, разрабатываемых сторонними командами: PyTorch Lightning и Fast.ai, упрощающие процесс обучения моделей, Pyro, модуль для вероятностного программирования, от Uber, Flair, для обработки естественного языка и Catalyst, для обучения DL и RL моделей.

Клиенты: Toyota, Salesforce, Stanford University, Udacity

Платформы: Кроссплатформенность

Версии: Cloud/On-Premise

Кейсы

Toyota Research Institute Advanced Development, Inc. (TRI-AD) 


Используя PyTorch на инстансах Amazon EC2 P3, TRI-AD сократил время обучения модели машинного обучения с дней до часов. «Мы постоянно оптимизируем и улучшаем наши модели компьютерного зрения, которые имеют решающее значение для миссии TRI-AD по обеспечению безопасной мобильности с помощью автономного вождения.

Pinterest


Pinterest имеет 3 миллиарда изображений и 18 миллиардов ассоциаций, соединяющих эти изображения. Компания разработала модели глубокого обучения PyTorch для контекстуализации этих изображений и обеспечения персонализированного взаимодействия с пользователем.

Autodesk


Autodesk, лидер в области программного обеспечения для 3D-проектирования, использует модели глубокого обучения для различных вариантов использования, начиная от изучения тысяч потенциальных альтернатив проектирования, семантического поиска проектов, оптимизации процессов инженерного строительства и заканчивая оптимизацией рабочих процессов рендеринга.

Гиперконнект


Hyperconnect использует классификацию изображений на основе PyTorch в своем приложении для видеосвязи, чтобы распознавать текущую среду, в которой находится пользователь.

Преимущества

Большинство фреймворков, таких как TensorFlow, Theano, Caffe и CNTK, имеют статический взгляд на мир. Нужно построить нейронную сеть и снова и снова использовать одну и ту же структуру. Изменение поведения сети означает, что нужно начинать с нуля.
В PyTorch мы используется техника, называемая авто-дифференциацией в обратном режиме, которая позволяет  произвольно изменять способ поведения сети с нулевым запаздыванием или накладными расходами. 
Хотя этот метод не является уникальным для PyTorch, на сегодняшний день это одна из самых быстрых его реализаций.