Acelerador multiplataforma para executar modelos de ML exportados no formato ONNX, com suporte ao treinamento de scripts do PyTorch.
microsoft/hummingbird
Biblioteca Python que compila modelos treinados do scikit-learn, LightGBM e XGBoost em operações com tensores para executar inferências com PyTorch, TorchScript, ONNX ou TVM.
- Estrelas
- 3,553
- Forks
- 293
- Issues abertas
- 78
- Último commit
- há 2 meses
O que é?
Hummingbird converte modelos tradicionais de machine learning já treinados em operações com tensores, permitindo executá-los em frameworks de redes neurais. Desenvolvedores podem usar árvores de decisão e florestas aleatórias do scikit-learn, além de classificadores e regressores do LightGBM ou XGBoost, e direcioná-los ao PyTorch, TorchScript, ONNX ou TVM sem reescrever o modelo.
A conversão transforma operadores baseados em árvores e outros operadores clássicos em operações matriciais adequadas à execução vetorizada e em GPU. Hummingbird oferece uma API uniforme no estilo predict, inspirada no scikit-learn, para que o código de inferência continue igual após a substituição pelo modelo convertido. Modelos convertidos para PyTorch e TorchScript podem ser servidos com TorchServe.
A instalação é feita via pip, usando o pacote hummingbird-ml, com um extra opcional para LightGBM e XGBoost. Há suporte a Python 3.9 a 3.11 no Linux, Windows e macOS, e é necessário usar PyTorch 1.6.0 ou posterior.
Recursos principais
- 01Converte árvores e florestas aleatórias do scikit-learn, além de modelos do LightGBM e XGBoost
- 02Tem como backends PyTorch, TorchScript, ONNX e TVM
- 03Oferece uma API predict no estilo do scikit-learn para os modelos convertidos
- 04Executa predições em CPU ou GPU, inclusive usando model.to('cuda')
- 05Oferece suporte para salvar e carregar modelos convertidos
Casos de uso
- Acelerar a inferência em lote de uma floresta aleatória treinada em hardware com GPU
- Implantar um modelo clássico de ML junto com redes neurais em uma única stack de serving baseada em PyTorch
- Exportar modelos baseados em árvores para ONNX ou TVM e executá-los fora do Python
Início rápido
- 1
Instale o PyTorch (versão 1.6.0 ou mais recente) para sua plataforma em pytorch.org
- 2
Instale o Hummingbird com pip
python -m pip install hummingbird-ml - 3
Converta um modelo treinado do scikit-learn com convert(model, 'pytorch') após importar hummingbird.ml
Antes de usar
- O PyTorch precisa ser instalado separadamente antes de usar o Hummingbird.
- O backend TVM funciona apenas no Python 3.10.
- Há suporte a um subconjunto definido de modelos e transformadores de características do scikit-learn, LightGBM e XGBoost, não a todos.
Em coleções
Tópicos
Perguntas frequentes
- O que é hummingbird?
- Biblioteca Python que compila modelos treinados do scikit-learn, LightGBM e XGBoost em operações com tensores para executar inferências com PyTorch, TorchScript, ONNX ou TVM. Hummingbird converte modelos tradicionais de machine learning já treinados em operações com tensores, permitindo executá-los em frameworks de redes neurais. Desenvolvedores podem usar árvores de decisão e florestas aleatórias do scikit-learn, além de classificadores e regressores do LightGBM ou XGBoost, e direcioná-los ao PyTorch, TorchScript, ONNX ou TVM sem reescrever o modelo.
- hummingbird é gratuito? Qual é a licença?
- hummingbird é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- hummingbird ainda é mantido?
- Atualizado nos últimos 6 meses. O último commit de hummingbird foi em 14 de set. de 2026.
- Para que posso usar hummingbird?
- Acelerar a inferência em lote de uma floresta aleatória treinada em hardware com GPU Implantar um modelo clássico de ML junto com redes neurais em uma única stack de serving baseada em PyTorch Exportar modelos baseados em árvores para ONNX ou TVM e executá-los fora do Python
- Como instalar hummingbird?
- Instale o PyTorch (versão 1.6.0 ou mais recente) para sua plataforma em pytorch.org Instale o Hummingbird com pip: python -m pip install hummingbird-ml Converta um modelo treinado do scikit-learn com convert(model, 'pytorch') após importar hummingbird.ml
- Onde consigo hummingbird?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/microsoft/hummingbird
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um mecanismo de inferência autônomo em Rust que carrega modelos ONNX e NNEF e os executa em CPU, Apple Metal, NVIDIA CUDA e WebAssembly.
Biblioteca de deep learning baseada em PyTorch, com componentes de alto nível para treinar modelos rapidamente e recursos de baixo nível para pesquisa personalizada.
Um compilador e runtime baseado em MLIR que reduz modelos de ML a uma IR unificada para implantação em datacenters, dispositivos móveis e de edge.
Um framework de deep learning para Java independente de engine, que permite criar, treinar e executar modelos com uma API nativa de Java.
Pacote Python que converte redes neurais de Keras, PyTorch e ONNX em código HLS para executar inferência de ML em FPGAs.