Repolode
microsoft

microsoft/hummingbird

一个 Python 库,可将训练好的传统机器学习模型编译为张量计算,以便在 PyTorch、ONNX 等后端上加速推理。

Star
3,553
Fork
293
未关闭 Issue
78
最近提交
2个月前

这是什么?

Hummingbird 可将训练好的传统机器学习模型转换为张量计算,使其能够运行在神经网络框架上。支持 scikit-learn 的决策树、随机森林,以及 LightGBM 和 XGBoost 的分类器与回归器,可转换到 PyTorch、TorchScript、ONNX 或 TVM,无需重写模型。

转换过程会把基于树的算子等经典操作重组为矩阵运算,便于向量化和 GPU 执行。它提供仿照 scikit-learn 风格的统一推理接口,替换为转换后的模型时推理代码无需修改。转换得到的 PyTorch 和 TorchScript 模型还可以通过 TorchServe 部署。

可通过 pip 安装 hummingbird-ml,并可选安装 LightGBM 和 XGBoost 依赖。支持 Python 3.9 至 3.11,运行于 Linux、Windows 和 macOS,需要 PyTorch 1.6.0 或更高版本。

核心功能

  • 01将 scikit-learn 树模型、随机森林、LightGBM 和 XGBoost 模型转换为张量计算
  • 02可输出到 PyTorch、TorchScript、ONNX 和 TVM 后端
  • 03为转换后的模型提供 scikit-learn 风格的预测接口
  • 04支持在 CPU 或 GPU 上运行预测
  • 05支持保存和加载转换后的模型

适用场景

  • 在 GPU 上加速已训练随机森林的批量推理
  • 将经典机器学习模型与神经网络统一部署在基于 PyTorch 的服务中
  • 将树模型导出到 ONNX 或 TVM,以便脱离 Python 环境执行

快速上手

  1. 1

    从 pytorch.org 安装适合你平台的 PyTorch(1.6.0 或更高版本)

  2. 2

    通过 pip 安装 Hummingbird

    python -m pip install hummingbird-ml
  3. 3

    导入 hummingbird.ml 后,使用 convert(model, 'pytorch') 转换已训练的 scikit-learn 模型

使用前须知

  • 使用 Hummingbird 前必须先单独安装 PyTorch。
  • TVM 后端仅支持 Python 3.10。
  • 它只支持 scikit-learn、LightGBM 和 XGBoost 中指定的部分模型和特征转换器,并非全部。

收录于专题

标签

常见问题

hummingbird 是什么?
一个 Python 库,可将训练好的传统机器学习模型编译为张量计算,以便在 PyTorch、ONNX 等后端上加速推理。 Hummingbird 可将训练好的传统机器学习模型转换为张量计算,使其能够运行在神经网络框架上。支持 scikit-learn 的决策树、随机森林,以及 LightGBM 和 XGBoost 的分类器与回归器,可转换到 PyTorch、TorchScript、ONNX 或 TVM,无需重写模型。
hummingbird 可以免费使用吗?用的什么许可证?
hummingbird 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
hummingbird 还在维护吗?
半年内有更新。hummingbird 最近一次提交是在 2026年9月14日。
hummingbird 适合用来做什么?
在 GPU 上加速已训练随机森林的批量推理 将经典机器学习模型与神经网络统一部署在基于 PyTorch 的服务中 将树模型导出到 ONNX 或 TVM,以便脱离 Python 环境执行
hummingbird 怎么安装和运行?
从 pytorch.org 安装适合你平台的 PyTorch(1.6.0 或更高版本) 通过 pip 安装 Hummingbird: python -m pip install hummingbird-ml 导入 hummingbird.ml 后,使用 convert(model, 'pytorch') 转换已训练的 scikit-learn 模型
在哪里获取 hummingbird?
源代码和安装说明在 GitHub 上:https://github.com/microsoft/hummingbird

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目