qkeras
hls4ml
qkeras | hls4ml | |
---|---|---|
3 | 11 | |
522 | 1,115 | |
1.1% | 3.5% | |
6.6 | 9.2 | |
about 2 months ago | 2 days ago | |
Python | C++ | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
qkeras
-
How to build FPGA-based ML accelerator?
I would check out hls4ml. It's an open source project made by/for people at CERN to convert neural networks created in Python using QKeras (a quantization extension of Keras) into HLS, with Vivado HLS being the most well supported. There are some caveats though, and a fellow student and I have had trouble getting the generated HLS to match the Keras model and be feasible to synthesize, but it seems to work well for smaller neural networks.
-
FPGA Neural Network
For quantization-aware training, there's also a tool we integrate with called qkeras: https://github.com/google/qkeras/tree/master/qkeras
-
[D] How to Quantize a CNN; And how to deal with a professor...
Brevitas appears to be what you're looking for. I haven't used that but developed something similar myself for a previous project. You could take a look at https://github.com/google/qkeras too
hls4ml
- How to participate in open-source FPGA projects?
- Looking for HLS frameworks to start deploying DL algorithms on FPGAs
-
Hi, What could be the best HLS tool for implementing neural networks on FPGA
I see that someone has already suggested hls4ml. I second that opinion. From my experience, it is extremely well documented. They have published papers which explain the scientific background. They have a really nice git page where they explain all the features of their tool. Additionally they also have an easy to follow tutorial of doing it from scratch using tensorflow networks. You can find all the information herehls4ml.
-
5 layered CNN implementation on arduino/FPGAs [P]
Open source project that originated at Fermilab https://github.com/fastmachinelearning/hls4ml (based on Xilinx Vivado which has been replaced by Vitis)
-
Help needed to build a Hardware accelerator for CNN's
You may check the hls4ml framework: it's a "translator" from the ML model (Keras, PyTorch) to a synthesizable High-Level Synthesis (HLS) IP Core.
-
Sub ms - 3ms Latency Vision task on FPGA
It really depends on the type of data you are using. There may (or may not) be some trade offs and sacrifices. There are frameworks which can basically translate your neural network information from a high level python code into equivalent HLS code which is optimized for low latency when inferred on FPGAs. Some frameworks which might be useful for you to explore are hls4ml and finn. These are some frameworks which can achieve low latency inference of neural networks on FPGAs using Xilinx Vitis HLS. These are what I found when I did a similar experiment but with much lower latency target (a few hundred ns) and a very simple MLP with 1D signal as input which was a year ago. Not sure if there are better alternatives available as of 2023. But conceptually all these work on the primary principle of having a supporting framework/methodology to first quantize the network and limit the precision of data to fixed point. The HLS then produced will also be a result of the framework applying dataflow techniques such that the resulting HLS code will produce an RTL which has the best overall latency.
-
looking for resources to design a basic deep learning feed forward accelerator
Check hls4ml. Developed by CERN for fast classification in FPGA for high-energy physics experiments.
-
How to build FPGA-based ML accelerator?
I would check out hls4ml. It's an open source project made by/for people at CERN to convert neural networks created in Python using QKeras (a quantization extension of Keras) into HLS, with Vivado HLS being the most well supported. There are some caveats though, and a fellow student and I have had trouble getting the generated HLS to match the Keras model and be feasible to synthesize, but it seems to work well for smaller neural networks.
-
How are TensorFlow Models implemented on PYNQ's PS & PL
Since you're looking for PL-only implementation, HLS4ML may fit your needs. It was developed to port TensorFlow models directly to FPGAs in particle physics experiments. Current development allows for implementation on SoC and MPSoC, though.
- Open source projects?
What are some alternatives?
model-optimization - A toolkit to optimize ML models for deployment for Keras and TensorFlow, including quantization and pruning.
Silice - Silice is an easy-to-learn, powerful hardware description language, that simplifies designing hardware algorithms with parallelism and pipelines.
aimet - AIMET is a library that provides advanced quantization and compression techniques for trained neural network models.
v4l2rtspserver - RTSP Server for V4L2 device capture supporting HEVC/H264/JPEG/VP8/VP9
conifer - Collect and revisit web pages.
srs - SRS is a simple, high-efficiency, real-time video server supporting RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH, and GB28181.
horovod - Distributed training framework for TensorFlow, Keras, PyTorch, and Apache MXNet.
PipelineC - A C-like hardware description language (HDL) adding high level synthesis(HLS)-like automatic pipelining as a language construct/compiler feature.
d2l-en - Interactive deep learning book with multi-framework code, math, and discussions. Adopted at 500 universities from 70 countries including Stanford, MIT, Harvard, and Cambridge.
fastocloud_com - Self-hosted IPTV/NVR/CCTV/Video service (Community version) [Moved to: https://github.com/fastogt/fastocloud]
Keras - Deep Learning for humans
fastocloud_mpart - Self-hosted IPTV/NVR/CCTV/Video service [Moved to: https://github.com/fastogt/fastocloud]