Machine Learning: Tensorflow Lite auf C64 portiert
Das Machine-Learning-Framework Tensorflow Lite ist für Embedded-Geräte mit wenig Leistung gedacht. Das reicht offenbar auch für einen C64.

Der Entwickler Nick Bild hat das Machine-Learning-Framework Tensorflow Lite auf den Commodore 64 portiert, um dort das sogenannte Inferencing eines Modells auszuführen - also das eigentliche Anwenden eines bestehenden KI-Modells. Die Lite-Variante von Tensorflow ist ausschließlich darauf ausgerichtet und bietet keine Möglichkeit zum Training der Modelle. Der Port von Bild nutzt darüber hinaus Tensorflow Lite für Mikrocontroller.
Laut Angabe des Tensorflow-Projekts soll die Laufzeitumgebung selbst noch auf einem ARM Cortex M3 laufen und lediglich 16 KByte Arbeitsspeicher belegen. Bild schreibt dazu: "In Anbetracht der Tatsache, dass Tensorflow Lite für Mikrocontroller auf einigen stark ressourcenbeschränkten Geräten läuft, habe ich mich gefragt, ob ich das Modell-Inferencing auch auf einem Commodore 64 ausführen kann." Immer wieder verfolgen Bastler und Retro-Fans ähnliche Ideen, so lassen sich auf dem C64 etwa Bitcoin schürfen.
Modell in Basic
Bei der Nutzung des Frameworks Tensorflow Lite wird das tranierte Modell auf einem Host-Rechner minimiert und in einem speziellen Format exportiert. Genutzt werden dafür auf den Controllern dann C-Arrays für Modellstruktur und Parameter, die nochmal geparst werden, um letztlich Operationen auf neuen Eingabe-Daten ausführen zu können. Den letzten Schritt des Interpreters hat Bild aber nicht direkt auf den C64 portiert, sondern führt diesen Schritt ebenfalls noch auf einem Host-Rechner aus.
Der so von Bild modifizierte Quellcode des Frameworks "gibt alle wichtigen Details über das Modell aus, z. B. auszuführende Operationen, Filterwerte, Verzerrungen usw. Außerdem habe ich den Quellcode für alle Operationen analysiert, die mit dem Ausführen des Modells verbunden sind, damit ich die Funktionalität reproduzieren kann." Erst diese Daten werden dann für den C64 in Basic übersetzt.
Bild führt aus, dass in diesem Schritt theoretisch auch noch eine Übersetzung in die Assemblersprache des 8-Bit-Mikroprozessors des C64 möglich wäre, Basic aber ausreiche. Der von Bild bereitgestellte Basic-Code ist dabei eine Umsetzung des Hello-World-Beispiels von Tensorflow. Auf einem physischen C64 benötige das Inferencing außerdem einige Sekunden; da es sich aber um den gleichen Code handele, sei damit keine Reduktion der Genauigkeit verbunden. Der Code des Projekts findet sich auf Github.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Kommentieren