Portenta Vision Shield micro-python on the M4 core?

Place for technical questions related to the Arduino Portenta H7.
rocksetta
Posts: 29
Joined: Fri Oct 16, 2020 2:31 am
Contact:

Portenta Vision Shield micro-python on the M4 core?

Postby rocksetta » Tue Nov 17, 2020 9:04 pm

Most of my Portenta programs are completely interchangeable between the M7 and M4 core especially since Arduino has improved the RPC communication with the M4 println.

Wondering if the OpenMv code could be placed on the M4 core. I have another thread talking about RPC communication between python and C++ and the two cores.

Just thinking that it would be an impressive move to have the vision shield fully on the M4 core and the M7 core would then act like a regular Arduino using Arduino software. Any chance of this in the near or far future?
40 years coding,
B.Sc. QuantumChemistry, B.Ed, Dp. Consl
Teach: #Robotics, #Coding
TensorflowJS
User avatar
kwagyeman
Posts: 4660
Joined: Sun May 24, 2015 2:10 pm

Re: Portenta Vision Shield micro-python on the M4 core?

Postby kwagyeman » Tue Nov 17, 2020 9:32 pm

No, you’d want this to be the other way around with the M7 running the vision code will need the extra power.

As for the M4, we’d likely allow that to be programmed as an Arduino in the future.
Nyamekye,
rocksetta
Posts: 29
Joined: Fri Oct 16, 2020 2:31 am
Contact:

Re: Portenta Vision Shield micro-python on the M4 core?

Postby rocksetta » Wed Nov 18, 2020 2:31 am

From OpenMV's point of view I agree the M7 core is probably the best place for your firmware as it is faster and almost has as much memory as the Nan0o 33 BLE, but from an Arduino users point of view having options is always better than no options. I believe the M7 core is faster but my results suggest that the M4 core can store a larger Machine Learning model by quite a bit. See image of several boards I tested.

Link to higher resolution image: https://github.com/hpssjellis/my-exampl ... Test04.png
crashTest04.png
If the image is hard to understand the M7 core could run 14 x 100 node, dense layers ( model_tflite_len = 534,748 ) whereas the M4 core ran 20 x 100 node, dense layers ( model_tflite_len = 780,148 ) in a multilayer minimally trained neural network. Those few extra layers might be the difference between a big model running and not working at all. No rush, but to have the option to use either core might be very useful in the future.

Another bonus for Arduino users is that having OpenMV on the M4 core, would mean that the user experience on the PortentaH7 would be as normal as possible just with RPC communication with the Vision Shield. Would be very easy even for beginners to work with the Portenta Vision Shield.
40 years coding,
B.Sc. QuantumChemistry, B.Ed, Dp. Consl
Teach: #Robotics, #Coding
TensorflowJS
User avatar
kwagyeman
Posts: 4660
Joined: Sun May 24, 2015 2:10 pm

Re: Portenta Vision Shield micro-python on the M4 core?

Postby kwagyeman » Wed Nov 18, 2020 1:50 pm

I’ve told Arduino about your request. Getting Ethernet working first is a priority.

Any implementation will likely have the M4 core running code from SDRAM. It’s not clear how the programming setup will work.
Nyamekye,

Return to “Arduino Portenta H7”

Who is online

Users browsing this forum: No registered users and 1 guest