fastmachinelearning/hls4ml has 2,205 GitHub stars and 616 forks. GitHot measured +2 stars in 24 hours, +5 in 7 days, and +9 in 15 days. Last checked 2026-11-13 20:21 UTC. Last push 2026-11-01.
측정된 스타 증가
- in 24h
- +2
- in 7 days
- +5
- in 15 days
- +9
- in 1 month
- 기록 수집 중
서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.
소개
Machine learning on FPGAs using HLS
머신러닝README.md
Original
A package for machine learning inference in FPGAs. We create firmware implementations of machine learning algorithms using high-level synthesis (HLS). We translate traditional open-source machine learning package models into HLS that can be configured for your use-case!
hls4ml is designed for ultra-low-latency inference on FPGAs. While it has strong roots in high-energy physics applications (e.g., L1 trigger systems at the CERN Large Hadron Collider), it has also been adopted across diverse scientific and industrial domains. Example use cases include control systems for quantum computing, feedback loops in nuclear fusion, low-power environmental monitoring on satellites, and biomedical signal processing (e.g., arrhythmia classification).
If you have any questions, comments, or ideas regarding hls4ml or just want to show us how you use hls4ml, don't hesitate to reach out to us through the discussions tab.
Documentation & Tutorial
For more information visit the webpage: https://fastmachinelearning.org/hls4ml/.
For introductory material on FPGAs, HLS and ML inferences using hls4ml, check out the video.
Detailed tutorials on how to use hls4ml's various functionalities can be found here.
Installation
pip install hls4ml
To install the extra dependencies for profiling:
pip install hls4ml[profiling]
Getting Started
Creating an HLS project
import hls4ml
# Fetch a keras model from our example repository
# This will download our example model to your working directory and return an example configuration file
config = hls4ml.utils.fetch_example_model('KERAS_3layer.json')
# You can print the configuration to see some default parameters
print(config)
# Convert it to an HLS project
hls_model = hls4ml.converters.keras_v2_to_hls(config)
# Print full list of example models if you want to explore more
hls4ml.utils.fetch_example_list()
Building a project
We will build the project using Xilinx Vivado HLS, which can be downloaded and installed from here. Alongside Vivado HLS, hls4ml also supports Vitis HLS, Intel HLS, Catapult HLS and Altera HLS IP Gen. The target backend can be changed using the backend argument when building the model.
# Use Vivado HLS to synthesize the model
# This might take several minutes
hls_model.build()
# Print out the report if you want
hls4ml.report.read_vivado_report('my-hls-test')
FAQ
The list of frequently asked questions and common HLS synthesis issues can be found here.
Citation
If you use this software in a publication, please cite the software
@software{fastml_hls4ml,
author = {{FastML Team}},
title = {fastmachinelearning/hls4ml},
year = 2026,
publisher = {Zenodo},
version = {v1.3.0},
doi = {10.5281/zenodo.1201549},
url = {https://github.com/fastmachinelearning/hls4ml}
}
the first publication:
@article{Duarte:2018ite,
author = "Duarte, Javier and others",
title = "{Fast inference of deep neural networks in FPGAs for particle physics}",
eprint = "1804.06913",
archivePrefix = "arXiv",
primaryClass = "physics.ins-det",
reportNumber = "FERMILAB-PUB-18-089-E",
doi = "10.1088/1748-0221/13/07/P07027",
journal = "JINST",
volume = "13",
number = "07",
pages = "P07027",
year = "2018"
}
and the latest overview paper:
@article{Schulte:2025mai,
author = "Schulte, Jan-Frederik and others",
title = "{hls4ml: A Flexible, Open-Source Platform for Deep Learning Acceleration on Reconfigurable Hardware}",
eprint = "2512.01463",
archivePrefix = "arXiv",
primaryClass = "cs.AR",
reportNumber = "FERMILAB-PUB-25-0890-CSAID-ETD-PPD",
year = "2026",
doi = "10.1145/3801979",
journal = "ACM Trans. Reconfigurable Technol. Syst.",
volume = "19",
pages = "19",
}
Additionally, if you use specific features developed in later papers, please cite those as well. For example, CNNs:
@article{Aarrestad:2021zos,
author = "Aarrestad, Thea and others",
title = "{Fast convolutional neural networks on FPGAs with hls4ml}",
eprint = "2101.05108",
archivePrefix = "arXiv",
primaryClass = "cs.LG",
reportNumber = "FERMILAB-PUB-21-130-SCD",
doi = "10.1088/2632-2153/ac0ea1",
journal = "Mach. Learn. Sci. Tech.",
volume = "2",
number = "4",
pages = "045015",
year = "2021"
}
@article{Ghielmetti:2022ndm,
author = "Ghielmetti, Nicol\`{o} and others",
title = "{Real-time semantic segmentation on FPGAs for autonomous vehicles with hls4ml}",
eprint = "2205.07690",
archivePrefix = "arXiv",
primaryClass = "cs.CV",
reportNumber = "FERMILAB-PUB-22-435-PPD",
doi = "10.1088/2632-2153/ac9cb5",
journal ="Mach. Learn. Sci. Tech.",
year = "2022"
}
Distributed arithmetic:
@misc{Sun:2025,
title={da4ml: Distributed Arithmetic for Real-time Neural Networks on FPGAs},
author={Chang Sun and others},
year={2025},
eprint={2507.04535},
archivePrefix={arXiv},
primaryClass={cs.AR},
url={https://arxiv.org/abs/2507.04535},
}
binary/ternary networks:
@article{Loncar:2020hqp,
author = "Ngadiuba, Jennifer and others",
title = "{Compressing deep neural networks on FPGAs to binary and ternary precision with HLS4ML}",
eprint = "2003.06308",
archivePrefix = "arXiv",
primaryClass = "cs.LG",
reportNumber = "FERMILAB-PUB-20-167-PPD-SCD",
doi = "10.1088/2632-2153/aba042",
journal = "Mach. Learn. Sci. Tech.",
volume = "2",
pages = "015001",
year = "2021"
}
Spiking Neural Networks (SNNs):
@misc{dillon2026spikingneuralnetworkinference,
title={Spiking Neural Network inference on FPGAs with hls4ml},
author={Barry M. Dillon},
year={2026},
eprint={2606.10008},
archivePrefix={arXiv},
primaryClass={cs.NE},
url={https://arxiv.org/abs/2606.10008},
}
Acknowledgments
If you benefited from participating in our community, we ask that you please acknowledge the Fast Machine Learning collaboration and particular individuals who helped you in any publications. Please use the following text for this acknowledgment:
We acknowledge the Fast Machine Learning collective as an open community of multi-domain experts and collaborators. This community and <names of individuals>, in particular, were important for the development of this project.
Funding
We gratefully acknowledge previous and current support from the U.S. National Science Foundation (NSF) Harnessing the Data Revolution (HDR) Institute for Accelerating AI Algorithms for Data Driven Discovery (A3D3) under Cooperative Agreement No. PHY-2117997, U.S. Department of Energy (DOE) Office of Science, Office of Advanced Scientific Computing Research under the Real‐time Data Reduction Codesign at the Extreme Edge for Science (XDR) Project (DE-FOA-0002501), DOE Office of Science, Office of High Energy Physics Early Career Research Program (DE-SC0021187, DE-0000247070), the European Research Council (ERC) under the European Union's Horizon 2020 research and innovation program (Grant No. 772369 and 966696), and the Eric & Wendy Schmidt Fund for Strategic Innovation through the CERN Next Generation Triggers project under grant agreement number SIF-2023-004.
관련 프로젝트 살펴보기
tensorflow/tensorflow
모두를 위한 오픈소스 머신러닝 프레임워크
201,593 스타huggingface/transformers
🤗 Transformers: 텍스트, 비전, 오디오, 멀티모달 분야의 최첨단 머신러닝 모델을 위한 모델 정의 프레임워크로, 추론과 학습을 모두 지원합니다.
168,951 스타AUTOMATIC1111/stable-diffusion-webui
Stable Diffusion 웹 UI
165,305 스타Comfy-Org/ComfyUI
그래프와 노드로 구성된 인터페이스를 갖춘, 가장 강력하고 모듈성이 뛰어난 확산 모델 GUI, API, 백엔드입니다. 세계에서 가장 빠른 로컬 추론 엔진입니다.
146,691 스타