ONNX
Open Neural Network Exchange (ONNX) |
- Тип:
- Для построения нейронных сетей
- Первый выпуск:
- Ошибка Lua в Модуль:Wikidata на строке 1528: attempt to index field 'wikibase' (a nil value).
- Последняя версия:
- Ошибка Lua в Модуль:Wikidata на строке 1528: attempt to index field 'wikibase' (a nil value).
- Кандидат в релизы:
- Ошибка Lua в Модуль:Wikidata на строке 1528: attempt to index field 'wikibase' (a nil value).
- Бета-версия:
- Ошибка Lua в Модуль:Wikidata на строке 1528: attempt to index field 'wikibase' (a nil value).
- Альфа-версия:
- Ошибка Lua в Модуль:Wikidata на строке 1528: attempt to index field 'wikibase' (a nil value).
- Тестовая версия:
- Ошибка Lua в Модуль:Wikidata на строке 1528: attempt to index field 'wikibase' (a nil value).
- Состояние:
- Активное
- Сайт:
- onnx.ai/
Ошибка Lua в Модуль:Autosorting на строке 85: attempt to index field 'wikibase' (a nil value).К:Программное обеспечение, разработанное в 1528 году
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 назывался Toffee[4] и был разработан командой PyTorch в Facebook[5]. В сентябре 2017 года он был переименован в ONNX и анонсирован Facebook и Microsoft.[6]
Позже IBM, Huawei, Intel, AMD, Arm и Qualcomm объявили о поддержке этой инициативы[7].
В октябре 2017 года Microsoft объявила о присоединении к инициативе своего Cognitive Toolkit и платформы Project Brainwave[8].
В ноябре 2019 года ONNX был принят в качестве проекта в Linux Foundation AI[9]
В октябре 2020 года компания Zetane Systems стала участником экосистемы ONNX[10].
ONNX.jsПравить
ONNX.js является JavaScript-библиотекой для запуска ONNX модели в браузерах и на Node.js. С ONNX.js веб-разработчики могут интегрировать и тестировать предварительно обученные модели ONNX непосредственно в веб-браузере. Это имеет следующие преимущества: сокращение взаимодействия сервер-клиент, защита пользовательских данных, кроссплатформенное машинное обучение без установки программного обеспечения на клиенте.
ONNX.js может быть запущен как на CPU, так и на GPU. Для работы на процессоре используется WebAssembly. Это позволит модели работать практически на родной скорости. Кроме того, ONNX.js использует Web worker для обеспечения «многопоточной» вычислительной среды распараллеливания. Эмпирическая оценка показывает очень многообещающие улучшения производительности процессора, используя все преимущества WebAssembly и Web Workers. Для работы на графических процессорах WebGL является стандартом для доступа к функциям графического процессора[11][12][13].
ЦельПравить
Цели инициативы:
- Взаимодействие между фреймворками
- Обеспечение разработчикам более лёгкого перехода между фреймворками, некоторые из которых могут быть более желательны для определённых аспектов процесса разработки, таких как быстрое обучение, гибкость сетевой архитектуры или инференс на мобильных устройствах[14].
- Совместная оптимизация
- Предоставление поставщикам оборудования и другим организациям возможности повышать производительность искусственных нейронных сетей нескольких фреймворков одновременно, ориентируясь на представление ONNX[14].
Внутреннее устройствоПравить
С точки зрения внешнего представления файл ONNX является XML-файлом.
ONNX предоставляет определения расширяемой модели вычислительного графа, встроенных операторов и стандартных типов данных, ориентированных на инференс[14].
Каждый граф вычислительного потока данных представляет собой список узлов, образующих ациклический граф.
Узлы имеют входы и выходы. Каждый узел представляет собой вызов оператора.
Метаданные документируют граф.
Встроенные операторы должны быть доступны в каждом фреймворке, поддерживающем ONNX[14].
См. такжеПравить
- Сравнение программ глубокого обучения
- PicklingTools — коллекция инструментов с открытым исходным кодом, позволяющая системам C++ и Python быстро и легко обмениваться информацией.
- Neural Network Exchange Format
- Predictive Model Markup Language
ПримечанияПравить
- ↑ Release 1.7.0 (англ.) (28 мая 2020). Дата обращения: 3 июня 2020. Архивировано 19 августа 2021 года.
- ↑ Braddock Gaskill. ONNX: the Open Neural Network Exchange Format (англ.). Linux Journal (25 апреля 2018). Дата обращения: 17 января 2019. Архивировано 19 января 2019 года.
- ↑ heise online. Microsoft und Facebook machen gemeinsame KI-Sache (нем.). Дата обращения: 17 января 2019. Архивировано 19 января 2019 года.
- ↑ Codemod Toffee -> ONNX, toffee -> onnx. Change file names to match · pytorch/pytorch@6d8d5ba (англ.). GitHub. Дата обращения: 12 октября 2021. Архивировано 27 октября 2021 года.
- ↑ A model exporter for PyTorch by ezyang · Pull Request #2565 · pytorch/pytorch (англ.). GitHub. Дата обращения: 12 октября 2021. Архивировано 27 октября 2021 года.
- ↑ "Microsoft and Facebook create open ecosystem for AI model interoperability - Microsoft Cognitive Toolkit". Microsoft Cognitive Toolkit (англ.). 2017-09-07. Архивировано 30 марта 2019. Дата обращения: 19 августа 2022.
- ↑ "Microsoft and Facebook's open AI ecosystem gains more support". Engadget (англ.). Архивировано 9 мая 2019. Дата обращения: 19 августа 2022.
- ↑ "Microsoft and Facebook's open AI ecosystem gains more support". Engadget (англ.). Дата обращения: 11 октября 2017.
- ↑ LF AI & Data Day – ONNX Community Meetup – Silicon Valley (англ.). LF Online Community.
- ↑ Zetane Systems Joins the ONNX Community to Accelerate Open-Source Innovation and Universal… (14 октября 2020).
- ↑ Microsoft. ONNX.js: run ONNX models using JavaScript. (англ.) (7 марта 2019). Дата обращения: 7 марта 2019. Архивная копия от 30 апреля 2019 на Wayback Machine Источник . Дата обращения: 16 апреля 2019. Архивировано 30 апреля 2019 года.
- ↑ Will Badr. ONNX.js: Universal Deep Learning Models in The Browser (англ.) (8 января 2019). Дата обращения: 7 марта 2019. Архивная копия от 3 февраля 2022 на Wayback Machine Источник . Дата обращения: 16 апреля 2019. Архивировано 3 февраля 2022 года.
- ↑ ONNX.js - Run ONNX models in the browser (Demos) (англ.). Microsoft. Дата обращения: 7 марта 2019. Архивная копия от 8 марта 2019 на Wayback Machine Источник . Дата обращения: 16 апреля 2019. Архивировано 8 марта 2019 года.
- ↑ 14,0 14,1 14,2 14,3 "Microsoft and Facebook create open ecosystem for AI model interoperability – Microsoft Cognitive Toolkit". Microsoft Cognitive Toolkit (англ.). 2017-09-07. Дата обращения: 11 октября 2017.
СсылкаПравить
- Microsoft Connect() 2018: ONNX-Runtime für Machine Learning wird Open Source
- Проект ONNX на сайте GitHub (англ.)
Ошибка Lua в Модуль:External_links на строке 409: attempt to index field 'wikibase' (a nil value). Ошибка Lua в Модуль:Navbox на строке 353: attempt to index local 'listText' (a nil value). Ошибка Lua в Модуль:Navbox на строке 353: attempt to index local 'listText' (a nil value).