Найти в Дзене
IT Sphere

PYTORCH 1.0 УСКОРЯЕТ МАШИННОЕ ОБУЧЕНИЕ PYTHON С ПОМОЩЬЮ МАШИННОГО КОДА.

Официальный релиз PyTorch 1.0, платформы глубокого обучения, ориентированной на Python, созданной Facebook, доступен для тестирования разработчиками. Одной из наиболее популярных функций нового выпуска является возможность определять модели путем написания кода Python, который можно выборочно ускорить, подобно тому, как работают конкурирующие платформы. Традиционная роль Python в машинном обучении заключалась в том, чтобы обернуть высокоскоростные, серверные библиотеки кода с простым в использовании синтаксисом интерфейса. Любой, кто пишет модули машинного обучения на Python, быстро обнаруживает, что родной Python недостаточно быстр для критически важных для производительности исследований или использования в производственной среде. Разработчики PyTorch представили в PyTorch 1.0 функцию, называемую Torch Script, которая балансирует между доступным синтаксисом Python и производительным кодом. Torch Script-это подмножество Python, которое PyTorch может просто компилировать в быстрый ма

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

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

Разработчики PyTorch представили в PyTorch 1.0 функцию, называемую Torch Script, которая балансирует между доступным синтаксисом Python и производительным кодом. Torch Script-это подмножество Python, которое PyTorch может просто компилировать в быстрый машинный код, не зависящий от среды выполнения Python.

Скрипт Torch работает одним из двух способов. Новый код может быть написан с использованием языка сценариев Torch, который по дизайну может легко компилироваться в машинный код. Также можно взять существующий код Python и украсить его @torch.jit.trace декоратор, и иметь его just-in-time скомпилирован в машинный код. Однако это не так эффективно, как использование сценария Torch.

Согласно документации по сценарию Torch “ " [сценарий Torch] позволяет обучать модели в PyTorch, используя знакомые инструменты, а затем экспортировать модель в производственную среду, где не рекомендуется запускать модели в качестве программ Python для повышения производительности и многопоточности.”

Подход Torch Script перекликается с некоторыми другими методами разработки высокопроизводительного программного обеспечения на Python. Например, библиотека Numba в Anaconda компилирует указанные функции в машинный код, используя just-in-time или ahead-of-time компиляцию. Библиотеку Numba можно использовать для создания кода, который выполняется без самого Numba, но в целом она зависит от среды выполнения NumPy и Python.

Другой часто используемый пакет, Cython, позволяет постепенно превратить Python в C с помощью пользовательских синтаксических объявлений. Cython может работать со всем диапазоном типов Python и C, а также со всем синтаксисом Python, но скрипт Torch ограничен операциями с тензорами PyTorch, целыми числами и числами с плавающей запятой. И скрипт Torch не может использовать конструкции как исключения.