RNN (Recurrent Neural Network) (1) - Example, Source repository
CNN already has too many tutorials and is composed of various layers such as convolution and max-pooling in the middle. When you think of RNN, you think of language translators, and then you think of LSTMs (Long Short Term Memory) or GRUs (Gated Recurrent Unit). Since it can also take considerable time and effort to implement in hardware, I selected an RNN example for Sinewave Prediction that is as simple as possible and can show the characteristics of RNN well. Through this example, I would like to explain the whole process of how an ML model made in Python can be implemented as a hardware accelerator.
The development outline is as below
1. Reference model development for Wave Prediction (Pytorch)
2. System Simulator development for RTL design from Pytorch reference model (Python)
3. RTL IP development (Modelsim Simulation)
4. Complete system design and FPGA bit file creation using Xilinx Vivado
5. Write overlay driver in Python on Pynq-Z2 board and verify function performance
Although the above five steps seem simple, it can be seen that all processes of general SoC and Board development are summarized. In the next post, let's take a look at our Reference Model.
source: https://github.com/bxk218/RNN_wave_predictor_verilog
Comments
Post a Comment