[Review] ROCK 4B/3A with Coral edge TPU (Just FYI)

Hello, everyone,
I recently received two pieces of M.2 A+E key type product of the Coral edge TPU.
Then, I evaluated these on three different platforms, amd64 (Ryzen5 3600 + X570 Chip set), Rock3A and Rock Pi 4B with M.2 A+E key to M key converter.
Please refer to the following picture ,


.
The results of evaluation on tensorflow lite at the Coral web site (https://coral.ai/docs/m2/get-started/) are below,

** Rock pi 4B (Armbian bullseye kernel 5.15-50-rockchip64) **
python3 examples/classify_image.py
–model test_data/mobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite
–labels test_data/inat_bird_labels.txt
–input test_data/parrot.jpg

----INFERENCE TIME----
Note: The first inference on Edge TPU is slow because it includes loading the model into Edge TPU memory.
22.9ms
3.9ms
3.9ms
3.8ms
3.8ms
-------RESULTS--------
Ara macao (Scarlet Macaw): 0.75781

** Rock 3A Debian 10 kernel 4.19-106**
----INFERENCE TIME----
Note: The first inference on Edge TPU is slow because it includes loading the model into Edge TPU memory.
17.6ms
5.0ms
4.1ms
3.8ms
4.0ms
-------RESULTS--------
Ara macao (Scarlet Macaw): 0.75781

** amd64 ( Ubuntu 20.04 on Vmware)**
----INFERENCE TIME----
Note: The first inference on Edge TPU is slow because it includes loading the model into Edge TPU memory.
11.6ms
2.6ms
2.6ms
2.6ms
2.6ms
-------RESULTS--------
Ara macao (Scarlet Macaw): 0.75781

I found that the performance was great on the amd64 , however similar results were obtained on very small SBCs.
I thought the Rock 3A is the best platform for a compact AI system.
Thank you for reading this evaluation.

1 Like

Thanks for sharing it :slight_smile:

If You have some cooling You can test -max lib, it will make test models at speed same as those on ryzen, where it was maybe installed as default :wink:
There is section about cooling on coral site - ot should be cooled on both sides and require good power supply.

Hi, dominik,
Thank you for the comment, however I could not find -max lib that you described.
Anyway, I measured the module temperature with a heatsink changing continuous test cycles of 5 to 1,000,000.
The results,
Rpck pi 4B time for processing : 76 minutes, max temperature:61 degrees
Tock 3A time for processing : 110 minutes, max temperature:63 degrees
(The temperature before the test was about 40 degrees.)

I think a heatsink like on the previous picture is enough to use the PCIE single edge tpu.
Thanks.

Take a look at readme:


install

libedgetpu1-max

instead of -standard. You should be able to get timing like on x86 from Your post.
Edgetpu may be hot, it will start trottling at about 115 degrees on some longer tasks.

Hi, dominik,
The results are the same time and same temperature even after installing libedgetpu1-max. I don’t think the clock has changed.
In addition, I don’t understand why the description on the libedgetpu1-max is only in the USB Accelerator.
At least, there is no difference on Rockpi4b environment.

Have You removed -standard module?
When I’ll have some time I’ll repeat my tests, AFAIR there was some difference, my tests were on rock3a, which has 1x pcie lane 3.0, but it should be not be faster comapared to rock4 (with 2.0 lane) because coral module itself is 2.0.

I did, but the situation was not different. The maximum temperature was around 63 degrees.
By the way, I looked into several documents and I found the URL of


.
The README.md includes the Warning about temperature on using the maximum operating frequency.
The last line says,
‘Note: This issue affects only USB-based Coral devices, and is irrelevant for PCIe devices.’
So I think the maximum operating frequency is just for the USB based Edge TPU though the PCIE edge tpu is working with -max driver. It’s very complicated.