I'm working on a problem where we convert a 5 layered CNN which is capable of predicting the possibility of an epilepsy episode (yes or no), into a Spiking Neural Network (SNN), making it useful for low power applications. The end goal is to implement it on an FPGA. But since I lack experience with FPGAs, (and have decent experience with microcontrollers), my professor suggested me to try deploying it on a microcontroller, so I thought of trying it out on an arduino board.
From what I've seen, the Arduino nano BLE sense 33 allows deployment of tensorflow models using Tflite. However, I'm not sure wether the memory constraints of the board will allow me to deploy my CNN model. I want to be sure before investing in the board. The model summary is:
Total params: 24,010
Trainable params: 23,874
Non-trainable params: 136
It has 5 convolutional layers followed by max pooling and batch normalization. Can this be deployed on an arduino nano board? I also quantized the model to further reduce it's size before converting it to a tflite model.
Another important question is that how can we measure the power consumption while inference? This can be done using FPGAs easily, but I want to know if it can be done by the arduino board.
And finally, my last question is, wether we can convert the arduino C code into Verilog/VHDL so that this becomes implementable on FPGAs. Are there tools/converters for this?