Repolode
fastmachinelearning

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. 1

    从 PyPI 安装 hls4ml

    pip install hls4ml
  2. 2

    获取示例 Keras 模型及其配置

    import hls4ml
  3. 3

    将模型转换为 HLS 项目

    hls_model = hls4ml.converters.keras_v2_to_hls(config)
  4. 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 数据每日更新。

相关项目