Compilador y runtime basados en MLIR que traducen modelos de ML a una IR unificada para desplegarlos desde centros de datos hasta dispositivos móviles y edge.
onnx/onnx-mlir
Compilador que transforma grafos de redes neuronales ONNX mediante MLIR en código con dependencias de ejecución mínimas.
- Estrellas
- 1,066
- Forks
- 457
- Issues abiertos
- 357
- Último commit
- ayer
¿Qué es?
ONNX-MLIR recibe un grafo de modelo ONNX válido y lo compila en código que implementa el grafo, con el objetivo de minimizar el soporte necesario en tiempo de ejecución. Implementa el estándar ONNX y se basa en la infraestructura de compiladores LLVM/MLIR.
El proyecto ofrece un dialecto ONNX que pueden integrar otros proyectos basados en MLIR, interfaces de compilador que transforman grafos ONNX en archivos MLIR, bytecode de LLVM o bibliotecas C y Java, y un controlador de línea de comandos llamado onnx-mlir. También incluye interfaces de ejecución para Python, C, C++ y Java que permiten cargar y ejecutar modelos compilados.
El soporte de cada operación ONNX se registra por destino, incluidos un backend de CPU genérico y el acelerador de IA integrado Telum de IBM. Las compilaciones se ejecutan de forma nativa en Linux, macOS y Windows, y se ofrecen imágenes de Docker como configuración recomendada.
Funciones clave
- 01Convierte grafos ONNX en MLIR, LLVM IR, archivos objeto, bibliotecas compartidas o archivos JAR.
- 02Ofrece un dialecto ONNX que otros proyectos MLIR pueden reutilizar.
- 03Incluye interfaces de ejecución para Python, C, C++ y Java.
- 04Admite niveles de optimización de O0 a O3 y puede leer opciones desde una variable de entorno.
- 05Publica tablas de compatibilidad por operación para los destinos CPU e IBM Telum NNPA.
Casos de uso
- Implementar modelos ONNX como bibliotecas compiladas con dependencias de ejecución mínimas.
- Ejecutar modelos ONNX en servidores IBM Telum mediante el backend NNPA.
- Crear herramientas de compilación que integren el dialecto ONNX en un pipeline de MLIR.
Inicio rápido
- 1
Configura el entorno con contenedores Docker precompilados (consulta docs/Docker.md).
- 2
Compila ONNX-MLIR directamente en Linux o macOS (consulta docs/BuildOnLinuxOSX.md).
- 3
Convierte un modelo ONNX al dialecto ONNX con el controlador compilado.
./onnx-mlir --EmitONNXIR add.onnx
Antes de usarlo
- Compilar desde el código fuente requiere un commit específico de LLVM/MLIR y varios requisitos previos, como clang, protobuf y cmake.
- No hay una instalación sencilla mediante un gestor de paquetes; la configuración puede ser complicada en algunos sistemas, por lo que se recomienda Docker.
- La compatibilidad con operaciones se limita a las enumeradas en los documentos supported-ops del proyecto.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es onnx-mlir?
- Compilador que transforma grafos de redes neuronales ONNX mediante MLIR en código con dependencias de ejecución mínimas. ONNX-MLIR recibe un grafo de modelo ONNX válido y lo compila en código que implementa el grafo, con el objetivo de minimizar el soporte necesario en tiempo de ejecución. Implementa el estándar ONNX y se basa en la infraestructura de compiladores LLVM/MLIR.
- ¿onnx-mlir es gratuito? ¿Qué licencia tiene?
- onnx-mlir es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿onnx-mlir sigue mantenido?
- Mantenimiento activo. El último commit de onnx-mlir fue el 6 nov 2026.
- ¿Para qué puedo usar onnx-mlir?
- Implementar modelos ONNX como bibliotecas compiladas con dependencias de ejecución mínimas. Ejecutar modelos ONNX en servidores IBM Telum mediante el backend NNPA. Crear herramientas de compilación que integren el dialecto ONNX en un pipeline de MLIR.
- ¿Cómo se instala onnx-mlir?
- Configura el entorno con contenedores Docker precompilados (consulta docs/Docker.md). Compila ONNX-MLIR directamente en Linux o macOS (consulta docs/BuildOnLinuxOSX.md). Convierte un modelo ONNX al dialecto ONNX con el controlador compilado.: ./onnx-mlir --EmitONNXIR add.onnx
- ¿Dónde consigo onnx-mlir?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/onnx/onnx-mlir
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Lenguaje y compilador para escribir kernels personalizados de deep learning para GPU, muy eficientes y con código similar a Python, con mayor productividad que CUDA.
Acelerador multiplataforma para ejecutar modelos de ML exportados al formato ONNX, con compatibilidad para entrenar mediante scripts de PyTorch.
Un framework de deep learning para Java independiente del motor que permite crear, entrenar y ejecutar modelos con una API nativa de Java.
Ultralytics YOLOv5 es un kit de herramientas de visión artificial basado en PyTorch para detectar objetos, segmentar instancias y clasificar imágenes, con funciones de entrenamiento y exportación.
Framework de inferencia de redes neuronales de alto rendimiento en C++ para ejecutar modelos de deep learning en dispositivos móviles, integrados y de escritorio.