NN support on OpenMV

Hi everyone, I use OpenMV M7 On my school project.
I have some question for OpenMV.

  1. Because heap is too small , so can I run my nn network on SD card instead to use ram ?
  2. I know ARM’s CMSIS-NN are extremely out of date, but I need to use these tools to train my network for my school project.
    How can I reduce my network size for my M7 cam? Until now, I tried smile network and chars74k dataset trained a to z (26 outputs)
    And trained network size is 49kb. I need to train smaller network to free my ram (like cifar10-fast).
  3. Where are tensorflow’s tutorial? this tutorial’s link is dead:
    https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/experimental/micro/examples/person_detection/training_a_model.md

Sorry for poor English, any opinions are welcome. Thank you.

Hi,

  • By M7 do you mean F7 ? or H7 ? The H7 has enough memory to run bigger networks.
  • No networks can’t run from SD they need to be loaded in RAm.
  • You can make networks smaller by removing layers (or making layers smaller).
  • I’m not sure what’s the current state of Tensorflow support is, you’d have to ask Kwabena about this.

Hi, I’ll update the links, there’s really no TensorFlow tutorial yet. The support is still really alpha right now. Just the person detector network Google trained and mobilenet seem to work. It’s going to be a while for all the fixes for the software to get done from Google.

Hey there…
I had just trained my caffe model (cat and dog classifier).
And have gone through the tutorial provided by you guys, wiz.(https://community.arm.com/innovation/b/blog/posts/low-power-deep-learning-on-openmv-cam). I further quantized the model and convert it into binary file with .network extension.

But the problem being my .network file is about 50mb in size. I am total naive at deep-learning and machine learning.
I dont know now what to do make it work. As i’ve seen many issues about network file size on the forum. Please guide me through , so i can deploy my own model on my OpenMV cam.

p.s. - i’ve been following (A Practical Introduction to Deep Learning with Caffe and Python // Adil Moujahid // Data Analytics and more) for training the above model of my own.

Hi, we are moving all our support to using TensorFlow models now. Please see the tf module: tf — Tensor Flow — MicroPython 1.15 documentation

Please note that you need to make sure you use mobilenet as the model you use transfer learning with. Google has not yet released all operations yet to make keras work in a general purpose way. We are waiting on better support from google still and ARM linking ARM CMSIS-NN in. We expect everything to get done in 2020.