面向 Java 开发者的深度学习框架,与底层引擎无关,可直接用 Java 构建、训练和部署模型。
fastmachinelearning/hls4ml
一个 Python 工具包,可将 Keras、PyTorch 和 ONNX 神经网络转换为 HLS 代码,用于在 FPGA 上运行机器学习推理。
- Star
- 2,200
- Fork
- 615
- 未关闭 Issue
- 62
- 最近提交
- 3天前
这是什么?
hls4ml 将训练好的机器学习模型翻译为高层次综合(HLS)代码,生成 FPGA 固件。用户从常见框架中的模型出发,通过配置文件生成 HLS 工程,再使用受支持的厂商工具链编译出硬件实现。
该项目面向超低延迟推理场景,起源于高能物理领域,例如大型强子对撞机的 L1 触发系统,也应用于量子计算控制、核聚变反馈回路、卫星环境监测和生物医学信号处理等领域。
除 Vivado HLS 外,它还支持 Vitis HLS、Intel HLS、Catapult HLS 和 Altera HLS IP Gen 作为构建后端。可通过 PyPI 或 conda-forge 安装,并提供可选的性能分析依赖。
核心功能
- 01将 Keras、PyTorch 和 ONNX 模型转换为 HLS 工程。
- 02支持 Vivado、Vitis、Intel、Catapult 和 Altera 等多种 HLS 后端。
- 03通过配置文件调整生成设计的参数。
- 04提供工程综合构建步骤,并可读取综合报告。
- 05可通过 pip 或 conda-forge 安装。
适用场景
- 在 FPGA 硬件上部署神经网络,用于实时触发判断。
- 在嵌入式 FPGA 板卡上运行低延迟控制或信号处理模型。
- 在确定硬件设计前,评估训练好的模型在 FPGA 资源上的映射情况。
快速上手
- 1
从 PyPI 安装 hls4ml
pip install hls4ml - 2
获取示例 Keras 模型及其配置
import hls4ml - 3
将模型转换为 HLS 项目
hls_model = hls4ml.converters.keras_v2_to_hls(config) - 4
使用 Vivado HLS 或其他受支持的 HLS 工具构建项目
hls_model.build()
使用前须知
- 生成的固件构建需要单独安装 Vivado HLS、Vitis HLS 或 Intel HLS 等 HLS 工具链。
- 仅面向 FPGA 推理,不用于通用模型训练或执行。
标签
常见问题
- hls4ml 是什么?
- 一个 Python 工具包,可将 Keras、PyTorch 和 ONNX 神经网络转换为 HLS 代码,用于在 FPGA 上运行机器学习推理。 hls4ml 将训练好的机器学习模型翻译为高层次综合(HLS)代码,生成 FPGA 固件。用户从常见框架中的模型出发,通过配置文件生成 HLS 工程,再使用受支持的厂商工具链编译出硬件实现。
- hls4ml 可以免费使用吗?用的什么许可证?
- hls4ml 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- hls4ml 还在维护吗?
- 活跃维护中。hls4ml 最近一次提交是在 2026年11月4日。
- hls4ml 适合用来做什么?
- 在 FPGA 硬件上部署神经网络,用于实时触发判断。 在嵌入式 FPGA 板卡上运行低延迟控制或信号处理模型。 在确定硬件设计前,评估训练好的模型在 FPGA 资源上的映射情况。
- hls4ml 怎么安装和运行?
- 从 PyPI 安装 hls4ml: pip install hls4ml 获取示例 Keras 模型及其配置: import hls4ml 将模型转换为 HLS 项目: hls_model = hls4ml.converters.keras_v2_to_hls(config) 使用 Vivado HLS 或其他受支持的 HLS 工具构建项目: hls_model.build()
- 在哪里获取 hls4ml?
- 源代码和安装说明在 GitHub 上:https://github.com/fastmachinelearning/hls4ml
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
4860+1 本周762JavaApache-2.0更新于 5天前
一个用 C++ 编写的高性能神经网络推理框架,用于在手机、嵌入式和桌面设备上运行深度学习模型。
2.4万+19 本周4542C++Other更新于 24小时前
基于 MLIR 的机器学习编译器与运行时,将模型统一降级到中间表示,覆盖数据中心到移动与边缘设备。
4005+5 本周1057C++Apache-2.0更新于 21小时前
纯 Rust 实现的神经网络推理引擎,可加载 ONNX、NNEF 模型,在 CPU、Metal、CUDA 和 WebAssembly 上运行。
3111+4 本周298RustOther维护活跃更新于 18小时前
用于可视化神经网络、深度学习和机器学习模型结构的查看器,支持 ONNX、PyTorch 等多种格式。
3.4万+26 本周3197JavaScriptMIT维护活跃更新于 昨天
跨平台的机器学习推理与训练加速器,用于运行 ONNX 格式的模型。
2.2万+60 本周4414C++MIT更新于 17小时前