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

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

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

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

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

Хотя этот метод не является уникальным для PyTorch, на сегодняшний день это одна из самых быстрых его реализаций.