Acelerador multiplataforma para ejecutar modelos de ML exportados al formato ONNX, con compatibilidad para entrenar mediante scripts de PyTorch.
microsoft/hummingbird
Biblioteca de Python que compila modelos entrenados de scikit-learn, LightGBM y XGBoost en operaciones con tensores para ejecutar inferencias en PyTorch, TorchScript, ONNX o TVM.
- Estrellas
- 3,553
- Forks
- 293
- Issues abiertos
- 78
- Último commit
- hace 2 meses
¿Qué es?
Hummingbird convierte modelos tradicionales de machine learning ya entrenados en operaciones con tensores para ejecutarlos en frameworks de redes neuronales. Los desarrolladores pueden convertir árboles de decisión y bosques aleatorios de scikit-learn, así como clasificadores y regresores de LightGBM o XGBoost, y ejecutarlos en PyTorch, TorchScript, ONNX o TVM sin reescribir el modelo.
La conversión transforma los operadores basados en árboles y otros operadores clásicos en operaciones matriciales adecuadas para la ejecución vectorizada y en GPU. Hummingbird ofrece una API uniforme de estilo predict, inspirada en scikit-learn, de modo que el código de inferencia puede mantenerse igual al sustituir el modelo por uno convertido. Los modelos convertidos a PyTorch y TorchScript se pueden servir con TorchServe.
Se instala con pip como hummingbird-ml, con una opción adicional para LightGBM y XGBoost. Es compatible con Python 3.9 a 3.11 en Linux, Windows y macOS, y requiere PyTorch 1.6.0 o posterior.
Funciones clave
- 01Convierte árboles y bosques aleatorios de scikit-learn, así como modelos de LightGBM y XGBoost
- 02Admite los backends PyTorch, TorchScript, ONNX y TVM
- 03Ofrece una API predict al estilo de scikit-learn para los modelos convertidos
- 04Ejecuta predicciones en CPU o GPU, también mediante model.to('cuda')
- 05Permite guardar y cargar modelos convertidos
Casos de uso
- Acelerar la inferencia por lotes de un bosque aleatorio entrenado en hardware con GPU
- Implementar un modelo clásico de ML junto con redes neuronales en una misma pila de servicio basada en PyTorch
- Exportar modelos basados en árboles a ONNX o TVM para ejecutarlos fuera de Python
Inicio rápido
- 1
Instala PyTorch (versión 1.6.0 o posterior) para tu plataforma desde pytorch.org
- 2
Instala Hummingbird con pip
python -m pip install hummingbird-ml - 3
Convierte un modelo de scikit-learn entrenado con convert(model, 'pytorch') después de importar hummingbird.ml
Antes de usarlo
- PyTorch debe instalarse por separado antes de poder usar Hummingbird.
- El backend de TVM solo funciona con Python 3.10.
- Admite un subconjunto específico de modelos y transformadores de características de scikit-learn, LightGBM y XGBoost; no todos.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es hummingbird?
- Biblioteca de Python que compila modelos entrenados de scikit-learn, LightGBM y XGBoost en operaciones con tensores para ejecutar inferencias en PyTorch, TorchScript, ONNX o TVM. Hummingbird convierte modelos tradicionales de machine learning ya entrenados en operaciones con tensores para ejecutarlos en frameworks de redes neuronales. Los desarrolladores pueden convertir árboles de decisión y bosques aleatorios de scikit-learn, así como clasificadores y regresores de LightGBM o XGBoost, y ejecutarlos en PyTorch, TorchScript, ONNX o TVM sin reescribir el modelo.
- ¿hummingbird es gratuito? ¿Qué licencia tiene?
- hummingbird es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿hummingbird sigue mantenido?
- Actualizado en los últimos 6 meses. El último commit de hummingbird fue el 14 sept 2026.
- ¿Para qué puedo usar hummingbird?
- Acelerar la inferencia por lotes de un bosque aleatorio entrenado en hardware con GPU Implementar un modelo clásico de ML junto con redes neuronales en una misma pila de servicio basada en PyTorch Exportar modelos basados en árboles a ONNX o TVM para ejecutarlos fuera de Python
- ¿Cómo se instala hummingbird?
- Instala PyTorch (versión 1.6.0 o posterior) para tu plataforma desde pytorch.org Instala Hummingbird con pip: python -m pip install hummingbird-ml Convierte un modelo de scikit-learn entrenado con convert(model, 'pytorch') después de importar hummingbird.ml
- ¿Dónde consigo hummingbird?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/microsoft/hummingbird
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Motor de inferencia autónomo escrito en Rust que carga modelos ONNX y NNEF y los ejecuta en CPU, Apple Metal, NVIDIA CUDA y WebAssembly.
Biblioteca de deep learning basada en PyTorch, con componentes de alto nivel para entrenar rápidamente y componentes de bajo nivel para investigar con enfoques personalizados.
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.
Un framework de deep learning para Java independiente del motor que permite crear, entrenar y ejecutar modelos con una API nativa de Java.
Paquete de Python que convierte redes neuronales de Keras, PyTorch y ONNX en código HLS para ejecutar inferencias de ML en FPGAs.