Forum: Mikrocontroller und Digitale Elektronik Tensorflow Lite - Vergleich Teensy 4/Maixduino K210/MAX78000


von Thomas H. (tom_tucker)


Angehängte Dateien:

Lesenswert?

Ich habe erfolgreich Tensorflow Lite für Microcontroller (TFLM) in c++ 
auf meinem Teensy 4.1 zum laufen gebracht und lasse dort ein neuronales 
Netz mit convolutional Layern (CNN) berechnen, int8-quantisiert wie von 
TFLM gefordert. Layer Struktur siehe Anhang.

Es hat sich herausgestellt, dass der Teensy trotz beachtlicher 600MHz 
CPU Frequenz nicht schnell genug ist für meine Anwendung. Hat jemand 
Erfahrungen, ob ein Kendryte K210 oder ein MAX78000 schneller wären?

Die o.g. CPUs sind niedriger getaktet, haben aber einen CNN 
Hardware-Beschleuniger integriert, was der Teensy z.b. nicht hat. 
Inwiefern sich das auf die Performance tatsächlich auswirkt, kann ich 
aber nirgendwo konkret finden.
Hat hier vielleicht jemand eine der o.g. CPUs oder was vergleichbares 
mit TFLM am Start, so dass wir einen Geschwindigkeitsvergleich machen 
könnten?

Ich programmiere in C++ auf dem uC, da das auch der Rest meiner 
Anwendung erfordert. Der Stromverbrauch sollte insgesamt unter 300mA 
liegen, weshalb schnellere Prozessoren, die dann auch z.b. Linux 
erfordern, i.d.R. ausscheiden. Andere CPUs/DevBoards neben den oben 
genannten wären natürlich auch interessant.

Beste Grüße, Thomas

von EAF (Gast)


Lesenswert?

Thomas H. schrieb:
> Hat hier vielleicht jemand eine der o.g. CPUs

Ein K210 liegt hier vor mir.

von Rajko B. (balun)


Lesenswert?

Thomas H. schrieb:

> Hat hier vielleicht jemand eine der o.g. CPUs oder was vergleichbares
> mit TFLM am Start, so dass wir einen Geschwindigkeitsvergleich machen
> könnten?

Ich habe hier ein Haufen Sachen von Sipeed, sowohl Module als auch alle 
Boards.
https://maixduino.sipeed.com/en/hardware/board.html

Ein MAX78000FTHR Board habe ich auch, es gab mal ein "MAX78000 AI Design 
Contest" von Elektor und das Board gab es kostenlos dazu wenn die 
Projektidee angenommen wurde.

Ich kann dir gerne ein K210 Board/Modul abgeben allerdings fahre ich 
heute Abend in den Urlaub und komme erst in der KW34 zurück.

Grüss

-rajko

von Thomas H. (tom_tucker)


Lesenswert?

Vielen dank für eure Antworten und das super nette Angebot @ Rajko!
Wie waren denn so Deine Erfahrungen mit den Boards?
Ich würde gerne wenn möglich vorab raus finden ob es sich 
geschwindigkeitsmäßig "lohnt", TensorflowLite Micro selber auf einem 
anderen Board zu implementieren, Toolchain aufsetzen, etc...
Vielleicht findet sich hier ja jemand, der gerade aktiv an einem 
vergleichbaren Projekt arbeitet, dann könnten wir evtl die ein oder 
andere Netzwerk-Topologie austauschen und ein wenig vergleichen.

von Ole D. (oledre)


Lesenswert?

Hallo Thomas,

der Unterschied zwischen ein CNN in Firmware (100MHz ARM-CM4) und dem 
MAX78000 liet bei ca. dem Faktor 1600, wenn man als Netzwerk das MNIST 
zu Grunde legt.

Szenario         Zeit pro Inferenz [ms]   Energie pro Inferenz [µWs]
MAX32630 (96MHz)       574,00               22887,0
MAX78000, normal         1,42                  20,7
MAX78000, optimiert      0,36                   1,1

Wenn du Fragen hast, melde dich einfach.

Schöne Grüße
Ole

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.