恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
5分钟把hls4ml的Keras模型跑在FPGA上——只讲关键路径
首页
资讯中心
/
5分钟把hls4ml的Keras模型跑在FPGA上——只讲关键路径
5分钟把hls4ml的Keras模型跑在FPGA上——只讲关键路径
发布时间:2026/8/22 12:17:53
5分钟把hls4ml的Keras模型跑在FPGA上——只讲关键路径【免费下载链接】hls4mlMachine learning on FPGAs using HLS项目地址: https://gitcode.com/gh_mirrors/hl/hls4ml模型在笔记本上训得挺好一搬到FPGA就卡住要手写RTL要自己定定点hls4ml的FPGA部署关键路径只有一条取示例模型、转成HLS工程、C仿真验证、综合出固件。下面这条任务链5分钟走完。 它到底在干什么hls4ml 干的事就三步读入训练好的网络Keras、PyTorch、ONNX 都行把每一层翻译成 HLS 能综合的 C 代码权重和激活全部换成ap_fixed这类定点类型一种在软件里精确模拟硬件乘法器行为的 C 定点数最后吐出一个能直接送进 Vivado HLS 的完整工程。数据流很清楚框架模型 → 逐层解析、定点化 → C 固件 综合脚本 → IP 核同时还能挂回 Python 里跑 C 仿真对答案。图1hls4ml FPGA部署全流程——模型经过HLS转换生成工程调参后产出协同处理内核 从0到跑通Keras模型转HLS固件的完整任务链整条链4步每步贴出的命令复制就能跑。第1步安装hls4ml与TensorFlow运行环境pip install hls4ml装核心库走 Keras 转换通道还要 TensorFlow官方支持 2.8 到 2.14pip install hls4ml pip install tensorflow2.8,2.15第2步一键拉取示例Keras模型并加载仓库里的example-models/目录是空的示例模型靠脚本在线下载。fetch_example_model会把三层全连接网络 KERAS_3layer 连同示例输入输出数据和默认转换配置一起拉到当前目录并直接返回配置字典import hls4ml config hls4ml.utils.fetch_example_model(KERAS_3layer.json) print(config)图2hls4ml拉取的示例模型结构——输入层、隐藏层、输出层经权重连接第3步调用keras_v2_to_hls触发Keras到HLS转换config里关键就几项模型和权重文件路径、OutputDir、Backend默认 Vivado、默认精度ap_fixed16,6。把它交给转换器C 工程就生成了hls_model hls4ml.converters.keras_v2_to_hls(config)工程落在OutputDir默认my-hls-test下含 C 源码、测试台和 Vivado 综合脚本。配置里还有个ReuseFactor默认 1它决定同一个乘法器硬件被复用几次数值越大资源省、延迟越长图3hls4ml的ReuseFactor参数——1个乘法器复用4次与4个乘法器各用1次的资源对比第4步C仿真验证输出并综合出固件先不碰真板子把生成的 C 直接在 Python 里编译用随机输入对答案hls_model.compile() X_input np.random.rand(10, 16) hls_prediction hls_model.predict(X_input) hls_model.build()预期输出predict的结果和原 Keras 模型输出在定点量化误差内一致build()调 Vivado HLS 综合几分钟出延迟、LUT/FF/DSP 用量报告可用hls4ml.report.read_vivado_report直接读。手里有板子的话接着把综合出的 IP 拼进 Vivado 工程、出比特流刷上去就能在板上跑推理了。 新手部署hls4ml到FPGA最常踩的4个坑以为示例模型在仓库里——example-models/是空目录必须用hls4ml.utils.fetch_example_model在线拉取HLS 工具链版本对不上——Vivado 后端要 Vivado HLS 2020.1Vitis 要 2022.2oneAPI 卡在 2025.02025.1 已知不可用build()会直接报错可选依赖装冲突——Keras v2 和 v3 不能共存hls4ml[qkeras]和hls4ml[keras-v3]别同时装一次只装一组默认精度溢出——ap_fixed16,6总共 16 位、整数部分只有 6 位数据幅值超范围输出直接炸部署前逐层核一遍 Precision想继续深入docs/intro/setup.rst —— 想看完整安装流程、可选依赖清单和逐行转换讲解hls4ml/converters/keras_v2_to_hls.py —— 适合看 Keras 模型如何被逐层解析成 HLS 工程的底层实现docs/advanced/precision.rst —— 资源和精度两头紧时调每层定点精度的入口下一步把你自己的模型 json/h5 路径填进config重跑第3步后面整条链不用改。【免费下载链接】hls4mlMachine learning on FPGAs using HLS项目地址: https://gitcode.com/gh_mirrors/hl/hls4ml创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考