2017-07-04 18 views
0

Ich habe die Ausbildung einer einfachen linearen Regressionsmodell auf jupyter Notebook tensorflow abgeschlossen, und ich bin in der Lage, wie so die gespeicherten Variablen zu speichern und wiederherzustellen:Tensorflow in android: Lineare Regression

Grab Data

Jetzt bin ich Ich versuche, das Modell auf einer Android-Anwendung zu verwenden.

Nach dem Tutorial here, ich bin auf die Bühne bekommen kann, wo ich wie so die tensorflow Bibliothek importieren:

Android JNILibs

Jetzt bin ich an dem Punkt, wo ich das Modell einer geben möchte Geben Sie Daten ein und erhalten Sie einen Ausgabewert. (Siehe Anwendungsablauf unten) Sie verwenden jedoch eine .pb-Datei (keine Ahnung, was das ist) in ihrer Anwendung. In den 4-Dateien:

Saved File

, die ich von Speichern mein Modell bekam, habe ich nicht eine .pb Datei, die mich verlassen sprachlos.

Was die Anwendung tut: Prognostiziert den SoC mit einem vortrainierten Tensorflow-Modell unter Verwendung des Benutzereingabewerts der Höhe. Wodurch wird die lineare Regressionsgleichung verwendet wird: y = Wx + b

y - Soc

W - Gewicht

x - Höhe

b - Bias

Alle Variablen sind Werte floaten.

Android Application Flow:

  1. Benutzereingaben Höhenwert in Textbox und drückt "Predict" -Taste.

  2. Anwendung verwendet das Gewicht, Bias & Höhe Werte des gespeicherten Modells SoC vorherzusagen.

  3. Anwendung zeigt vorhergesagten SoC in Textansicht an.

Also meine Frage ist: Wie kann ich importieren und mein Modell in Android-Anwendung unter Verwendung von Android-Studios 2.3.1?

Hier sind meine ipynb und csv Daten files.

+0

Die Informationen über das Einfrieren des Modells finden Sie eine pb Graph zu erstellen, ist im Tutorial, das Sie in der Frage verbunden ... Im ersten Teil des Tutorials es erklärt Genau wie man einen Graphen und Checkpoints in ein Modell einfriert. – JCooke

Antwort

2

ich die Frage haben mißverstanden können aber:

Da das Modell das Gewicht und die Vorspannung vortrainiert ist, werden sich nicht ändern, Sie einfach die W und b-Werte berechnet im Jupyter Notebook verwenden können, und hart Code sie in einem einfachen Ausdruck

<soc> = -56.0719*<height> + 98.3029 

gibt es keine Notwendigkeit, ein Tensorflow-Modell dafür zu importieren.

UPDATE die Frage Um sicherzustellen, beantwortet wird, kommt die * .pb Datei mit der Grafik, die die Prüfpunktdatei einfriert - auf den zweiten Code-Panel in der verknüpften Tutorial beziehen, wie dies zu tun.

Im Hinblick darauf, was Einfrieren here

+0

Dies ist eine dieser Antworten, die die Frage beantwortet, aber nicht! Ich frage mich oft, warum so viele Leute versuchen, eine einfache lineare Regression in ihren Apps zu machen, wenn es nur eine gelöste Gleichung ist! – JCooke

+0

Danke für die Antwort, aber mein Projekt ist Teil eines Schulmoduls, wo ich lernen muss, wie man Daten und Tensorflow-Modelle auf Android bekommt, da ein zukünftiges Projekt dieses Wissen erfordert. – Tix

+0

pypypy hat jetzt ihre Antwort für Sie aktualisiert. Die Antwort auf deine Frage war im Tutorial die ganze Zeit! Vielleicht hast du nicht alles gelesen? Wenn Sie https://omid.al/posts/2017-02-20-Tutorial-Build-Your-First-Tensorflow-Android-App.html nicht gelesen haben, könnte auch ein anderes Tutorial in das von Ihnen gepostete Tutorial passen Lesen Sie gut für Ihr Schulprojekt. Viel Glück. – JCooke