PyTorch 1.5 Обновляет C++ API


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

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

Новый выпуск, PyTorch 1.5, включает в себя значительное обновление интерфейса C++, формат памяти «channels last» для моделей компьютерного зрения и стабильный выпуск распределенной платформы RPC, используемой для параллельного обучения моделей. В выпуске также есть новые API для autograd для гессианцев и якобианцев, а также API, который позволяет создавать пользовательские классы C++, вдохновленные pybind.

Интерфейсный API C++ означает, что пользователи могут переводить свою модель с Python API на C++ API, что делает процесс создания модели намного более плавным. Работа преодолела проблемы, включая различия между тем, как оптимизаторы вели себя в C++ и Python. Другой проблемой было отсутствие тензорного многодиапазонного API индексирования в C++, который теперь может быть достигнут без обходного пути. 

В этом выпуске также добавлен новый API для одновременной привязки пользовательских классов C++ к TorchScript и Python. Разработчики говорят, что этот API почти идентичен по синтаксису pybind11. Он позволяет пользователям предоставлять свой класс C++ и его методы системе типов TorchScript и системе времени выполнения, чтобы они могли создавать экземпляры и манипулировать произвольными объектами C++ из TorchScript и Python.

В других местах новая компоновка памяти «channels last» позволяет использовать эффективные алгоритмы свертки и аппаратные средства, такие как тензорные ядра Nvidia, FBGEMM и QNNPACK.


Добавить комментарий