Ich habe ein Skript zur Sequenzklassifizierung mit TensorFlow in Python geschrieben. Ich möchte diesen Code auf Android portieren. Ich habe das Beispiel auf der TensorFlow-Github-Seite in Bezug auf Android gesehen, aber das ist für Bilder.

Gibt es eine Möglichkeit, meinen TensorFlow Python-Code direkt auf Android zu portieren?

6
Shoaib Ahmed Siddiqui 27 Dez. 2015 im 11:07

2 Antworten

Beste Antwort

Der typische Weg, dies zu tun, besteht darin, Ihr Modell mit Python zu erstellen (und zu trainieren) und das GraphDef -Proto mit tf.train.write_graph() und schreiben Sie dann eine App mit der JNI, um die C ++ TensorFlow-API aufzurufen (siehe ein vollständiges Beispiel hier).

Wenn Sie Ihr Diagramm in Python erstellen, sollten Sie die Namen der Tensoren notieren, die (i) die zu klassifizierenden Eingabedaten und (ii) die vorhergesagten Ausgabewerte darstellen. Dann können Sie einen Schritt ausführen, indem Sie einen Wert für (i) eingeben und den Wert für (ii) abrufen.

Ein letztes Problem ist die Darstellung der Modellparameter in Ihrem exportierten Diagramm. Es gibt verschiedene Möglichkeiten, dies zu tun, einschließlich des Versands eines TensorFlow-Prüfpunkts (geschrieben von einem tf.train.Saver) als Teil Ihrer App und Ausführen der Wiederherstellungsoperationen, um sie neu zu laden. Eine Methode, die im veröffentlichten InceptionV3-Modell verwendet wurde, ist Um das Diagramm so umzuschreiben, dass die Modellparameter durch "Const" Knoten ersetzt werden und das Modelldiagramm in sich geschlossen wird.

6
mrry 29 Dez. 2015 im 18:02

Es gibt QPython oder Kivy .

QPython - Android Apps auf GooglePlay. Es ist eine Skript-Engine, die Python auf Android-Geräten ausführt. Damit kann Ihr Android-Gerät Python-Skripte und -Projekte ausführen. Es enthält den Python-Interpreter und einige andere Dinge wie pip, aber es ist kein Compiler verfügbar, sodass nur reine Python-Pakete funktionieren.

Python für Android - Ermöglicht das Kompilieren einer Python-Anwendung in eine Android-APK zusammen mit zusätzlichen Paketen Pure-Python und diejenigen, die kompiliert werden müssen.

-1
Peter Badida 30 Okt. 2016 im 16:14