ONNX

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
Open Neural Network Exchange (ONNX)
Логотип программы Open Neural Network Exchange (ONNX)
Тип Для построения нейронных сетей
Разработчик Facebook, Microsoft
Разработчики Facebook, Microsoft
Написана на C++, Python
Операционная система Windows, Linux
Первый выпуск сентябрь 2017; 7 лет назад (2017-09)
Аппаратная платформа кроссплатформенный
Последняя версия 1.7.0[1]. (28 мая 2020; 4 года назад (2020-05-28))
Состояние Активное
Лицензия MIT
Ссылки
Сайт onnx.ai

ONNX (Open Neural Network Exchange) — открытая библиотека программного обеспечения для построения нейронных сетей глубокого обучения. С помощью ONNX ИИ-разработчики могут обмениваться моделями между различными инструментами и выбирать наилучшую комбинацию этих инструментов. ONNX разрабатывается и поддерживается совместно компаниями Microsoft, Facebook, Amazon и другими партнерами как проект с открытым исходным кодом[2][3].

ONNX позволяет обучать модели в рамках одной среды, а затем переносить их в другую среду для распознавания лиц, распознавания жестов или объектов и т. д. Это позволяет разработчикам использовать правильную комбинацию инструментов. Модели ONNX в настоящее время поддерживаются в Caffe2, Microsoft Cognitive Toolkit, MXNet, PyTorch и OpenCV, и есть интерфейсы для многих других популярных фреймворков и библиотек.

ONNX Model Zoo — это коллекция моделей глубокого обучения с предварительным обучением, доступных в формате ONNX. Каждая модель поставляется с интерактивной оболочкой IPython для обучения модели и выработки соответствующей модели. Записные книжки написаны на Python и содержат ссылки на набор обучающих данных, а также ссылки на оригинальный научный документ, описывающий архитектуру модели.

История

ONNX в «железе»

Первоначально ONNX назывался Toffee[4] и был разработан командой PyTorch в Facebook[5]. В сентябре 2017 года он был переименован в ONNX и анонсирован Facebook и Microsoft.[6] Позже IBM, Huawei, Intel, AMD, Arm и Qualcomm объявили о поддержке этой инициативы[7].

ONNX.js

ONNX.js является JavaScript-библиотекой для запуска ONNX модели в браузерах и на Node.js. С ONNX.js веб-разработчики могут интегрировать и тестировать предварительно обученные модели ONNX непосредственно в веб-браузере. Это имеет следующие преимущества: сокращение взаимодействия сервер-клиент, защита пользовательских данных, кроссплатформенное машинное обучение без установки программного обеспечения на клиенте.

ONNX.js может быть запущен как на CPU, так и на GPU. Для работы на процессоре используется WebAssembly. Это позволит модели работать практически на родной скорости. Кроме того, ONNX.js использует Web worker[англ.] для обеспечения «многопоточной» вычислительной среды распараллеливания. Эмпирическая оценка показывает очень многообещающие улучшения производительности процессора, используя все преимущества WebAssembly и Web Workers. Для работы на графических процессорах WebGL является стандартом для доступа к функциям графического процессора[8][9][10].

См. также

Примечания

  1. Release 1.7.0 (англ.) (28 мая 2020). Дата обращения: 3 июня 2020. Архивировано 19 августа 2021 года.
  2. Braddock Gaskill. ONNX: the Open Neural Network Exchange Format (англ.). Linux Journal (25 апреля 2018). Дата обращения: 17 января 2019. Архивировано 19 января 2019 года.
  3. heise online. Microsoft und Facebook machen gemeinsame KI-Sache (нем.). Дата обращения: 17 января 2019. Архивировано 19 января 2019 года.
  4. Codemod Toffee -> ONNX, toffee -> onnx. Change file names to match · pytorch/pytorch@6d8d5ba (англ.). GitHub. Дата обращения: 12 октября 2021.
  5. A model exporter for PyTorch by ezyang · Pull Request #2565 · pytorch/pytorch (англ.). GitHub. Дата обращения: 12 октября 2021.
  6. Microsoft and Facebook create open ecosystem for AI model interoperability - Microsoft Cognitive Toolkit (англ.), Microsoft Cognitive Toolkit (7 сентября 2017).
  7. Microsoft and Facebook's open AI ecosystem gains more support (англ.), Engadget.
  8. Microsoft ONNX.js: run ONNX models using JavaScript. (англ.) (7 марта 2019). Дата обращения: 7 марта 2019. Архивная копия от 30 апреля 2019 на Wayback Machine
  9. Will Badr ONNX.js: Universal Deep Learning Models in The Browser (англ.) (8 января 2019). Дата обращения: 7 марта 2019. Архивная копия от 3 февраля 2022 на Wayback Machine
  10. ONNX.js - Run ONNX models in the browser (Demos) (англ.). Microsoft. Дата обращения: 7 марта 2019. Архивная копия от 8 марта 2019 на Wayback Machine

Ссылка