Repolode
onnx

onnx/onnx-mlir

Компилятор, который преобразует графы нейросетей ONNX через MLIR в код с минимальными зависимостями во время выполнения.

Звёзды
1,066
Форки
457
Открытые issues
357
Последний коммит
вчера

Что это?

ONNX-MLIR принимает корректный граф модели ONNX и компилирует его в код, реализующий этот граф, стремясь свести к минимуму поддержку во время выполнения. Проект реализует стандарт ONNX и построен на инфраструктуре компиляторов LLVM/MLIR.

Проект предоставляет диалект ONNX для интеграции с другими проектами на базе MLIR, интерфейсы компилятора для преобразования графов ONNX в файлы MLIR, байткод LLVM или библиотеки C и Java, а также драйвер командной строки onnx-mlir. В него также входят интерфейсы времени выполнения для Python, C, C++ и Java, позволяющие загружать и запускать скомпилированные модели.

Поддержка отдельных операций ONNX отслеживается для каждой целевой платформы, включая универсальный CPU-бэкенд и интегрированный AI-ускоритель IBM Telum. Сборку можно выполнять непосредственно в Linux, macOS и Windows; в качестве рекомендуемого варианта настройки предлагаются Docker-образы.

Ключевые возможности

  • 01Преобразует графы ONNX в MLIR, LLVM IR, объектные файлы, разделяемые библиотеки или файлы JAR.
  • 02Предоставляет диалект ONNX, который можно повторно использовать в других проектах MLIR.
  • 03Предлагает интерфейсы времени выполнения для Python, C, C++ и Java.
  • 04Поддерживает уровни оптимизации от O0 до O3 и позволяет считывать флаги из переменной окружения.
  • 05Публикует таблицы поддержки операций для целевых платформ CPU и IBM Telum NNPA.

Сценарии использования

  • Развёртывание моделей ONNX в виде скомпилированных библиотек с минимальными зависимостями во время выполнения.
  • Запуск моделей ONNX на серверах IBM Telum с помощью бэкенда NNPA.
  • Создание инструментов компилятора с интеграцией диалекта ONNX в конвейер MLIR.

Быстрый старт

  1. 1

    Настройте среду с помощью готовых Docker-контейнеров (см. docs/Docker.md).

  2. 2

    Соберите ONNX-MLIR напрямую в Linux или macOS (см. docs/BuildOnLinuxOSX.md).

  3. 3

    Преобразуйте модель ONNX в диалект ONNX с помощью собранного драйвера.

    ./onnx-mlir --EmitONNXIR add.onnx

Что важно знать

  • Для сборки из исходного кода нужны определённый коммит LLVM/MLIR и несколько предварительных условий, таких как clang, protobuf и cmake.
  • Простого способа установки через менеджер пакетов нет; настройка в некоторых системах может быть непростой, поэтому рекомендуется использовать Docker.
  • Поддерживаются только операции, перечисленные в документах проекта supported-ops.

В подборках

Темы

Частые вопросы

Что такое onnx-mlir?
Компилятор, который преобразует графы нейросетей ONNX через MLIR в код с минимальными зависимостями во время выполнения. ONNX-MLIR принимает корректный граф модели ONNX и компилирует его в код, реализующий этот граф, стремясь свести к минимуму поддержку во время выполнения. Проект реализует стандарт ONNX и построен на инфраструктуре компиляторов LLVM/MLIR.
onnx-mlir можно использовать бесплатно? Какая у него лицензия?
onnx-mlir распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
onnx-mlir всё ещё поддерживается?
Активно поддерживается. Последний коммит в onnx-mlir — 6 нояб. 2026 г..
Для чего можно использовать onnx-mlir?
Развёртывание моделей ONNX в виде скомпилированных библиотек с минимальными зависимостями во время выполнения. Запуск моделей ONNX на серверах IBM Telum с помощью бэкенда NNPA. Создание инструментов компилятора с интеграцией диалекта ONNX в конвейер MLIR.
Как установить onnx-mlir?
Настройте среду с помощью готовых Docker-контейнеров (см. docs/Docker.md). Соберите ONNX-MLIR напрямую в Linux или macOS (см. docs/BuildOnLinuxOSX.md). Преобразуйте модель ONNX в диалект ONNX с помощью собранного драйвера.: ./onnx-mlir --EmitONNXIR add.onnx
Где скачать onnx-mlir?
Исходный код и инструкции по установке — на GitHub: https://github.com/onnx/onnx-mlir

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Ultralytics YOLOv5 — библиотека компьютерного зрения на базе PyTorch для детекции объектов, сегментации экземпляров и классификации изображений, с обучением и экспортом моделей.

58,3 тыс.+10 за неделю17,4 тыс.PythonAGPL-3.0Активно поддерживаетсяОбновлён 3 дня назад