跨平台的机器学习推理与训练加速器,用于运行 ONNX 格式的模型。
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
从 pytorch.org 安装适合你平台的 PyTorch(1.6.0 或更高版本)
- 2
通过 pip 安装 Hummingbird
python -m pip install hummingbird-ml - 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 数据每日更新。
相关项目
纯 Rust 实现的神经网络推理引擎,可加载 ONNX、NNEF 模型,在 CPU、Metal、CUDA 和 WebAssembly 上运行。
基于 PyTorch 的深度学习库,既提供快速训练的高层组件,也提供便于自定义研究的底层模块。
基于 MLIR 的机器学习编译器与运行时,将模型统一降级到中间表示,覆盖数据中心到移动与边缘设备。
面向 Java 开发者的深度学习框架,与底层引擎无关,可直接用 Java 构建、训练和部署模型。
一个 Python 工具包,可将 Keras、PyTorch 和 ONNX 神经网络转换为 HLS 代码,用于在 FPGA 上运行机器学习推理。