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
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.