Dermnet binary classification on Arduino Nano 33 BLE

Hi,

I’m trying to make predictions on Arduino Nano 33 BLE using TensorFlow Lite Micro. I deployed the Visual Alarm Clock project (https://github.com/googlecreativelab/visual-alarm-clock) to my board to test and I didn’t get any error messages. I only have the board and OV7670 Camera module so I’m not able to test the whole project. But I get the class values on the serial monitor. Then I replaced the model with a silly one that I trained on two classes of the Dermnet dataset; I simply copied the array’s values in the model.h file to person_detect_model_data.cpp file of the Visual Alarm Clock project and changed the array length with the new one’s length. I changed the model definition on the .ino file and tried to deploy and run it on my board. But I got this error message:

*Invoke() called after initialization failed *
Invoke failed.
Class 1 : 72
Class 2 : -115

Then, I tried to rebuild and retrain my model with the same layers on the Visual Alarm Clock project. I used AveragePooling instead of MaxPooling, and DepthwiseConv2D layers. But I keep getting the same error message. Here is a link to my GitHub repository that contains both my model training jupyter notebook file and the Arduino project folder: GitHub - ayyucedemirbas/TinyML_dermnet

Thank you so much!

1 Like