Hi guys! i am new on this forum. I choosed "FPGA based embedded system architecture for machine learning applications" as my research area. But i dont know how to load a trained model (suppose in .xml file format) in vivado HLS for FPGA board. I shall be really grateful to all of you if you guide me. Thank You
You can't. At least if what you want is a button in Vivado called "import ML model" or something like that.
Vivado HLS is a tool that creates FPGA blocks to do certain things. One of these "things" can be a neural network. NNs use parameters (model). So your problem might be rephrased as "how to add constant parameters to an HLS IP".
Two ways come to me:
- Write them in an h file as constant arrays
- Use BRAM attached to your IP and initialize it with your data (more flexible)
Whatever way you choose (even a different one) you will probably have to re-format your xml file.
Last but not least, the IP you write and the model you provide must be coherent in terms of layers, nodes, etc.
Most ML applications in FPGA are not pure FPGA but software accelerated by the FPGA so just the layer operations are done in parallel in the PL fabric.