Tag 24 von Javascript Adventskalender 2019
Das erste Zeichen wird dem Modell gegeben, das die Satzdaten gelernt hat, und das nächste Zeichen wird erraten.
ml5js ml5 Es verwendet das Tensorflow-Modell und erleichtert die Handhabung mit js.
tensorflow Es wird zur Modellgenerierung verwendet. tensorflow
Ich habe Python mit Anaconda und TensorFlow mit pip installiert.
OS:windows 10 (Es ist ein Gaming-PC. Ich dachte, es würde eine gewisse Last erfordern.)
Hier herunterladen training-charRNN
git clone https://github.com/ml5js/training-charRNN.git
Dies ist sowohl später als auch früher der schwierigste Ort, aber ich werde geeignete Textdaten vorbereiten, damit ich sie vorerst verschieben kann.
Das Vorbereiten japanischer Daten ist schwierig, da es schwierig ist, Phrasen zu trennen. Verwenden wir also englische Daten. Ich werde Japanisch zu einem späteren Zeitpunkt zusammenfassen.
Dateiname: input.txt Ort: training-lstm-master / [any_holder_name] /
Geben Sie den Text in input.txt ein und speichern Sie ihn.
Kostenlose englische Romane und Geschichten sind verfügbar. Wenn Sie es als Testversion verwenden möchten, können Sie die Originaldaten einfach von hier aus vorbereiten. Project Gutenberg
cd training-lstm-master
python train.py --data_path=./[any_holder_name]/input.txt
Nach Beginn und Ende dieses Trainings wird eine Datei in models / input / generiert.
Wir werden diese Dateigruppe in ml5-Beispielen verwenden, die später erläutert werden.
Ich hatte die neueste Version von Tensorflow, aber ich war wütend. (Es tut mir leid für den Fehler zu dieser Zeit, aber es ist tausend Winde geworden.)
Ich hatte keine andere Wahl, als ** Tensorflow 1.15.0 ** zu setzen.
Ich muss es in eine 1er-Funktion umschreiben, und das Folgende in train.py wird geändert.
# hide logs
tf.logging.set_verbosity(tf.logging.ERROR)
↓
# hide logs
tf.compat.v1.logging.set_verbosity(tf.compat.v1.logging.ERROR)
Ich habe noch nicht über das Frontend gesprochen, deshalb mache ich mir Sorgen, dass dies ein guter Advent ist ...
Endlich bin ich zur Geschichte von Javascript gekommen. Verwenden wir nun das zuvor erstellte Modell.
Hier herunterladen ml5-examples
git clone https://github.com/ml5js/ml5-examples.git
Ich verwende das nodejs-Paket, es ist also das übliche
npm install
Verschieben Sie die Dateien unter Modelle / Eingabe / zuvor generiert.
Ziel https://github.com/ml5js/ml5-examples/tree/release/p5js/CharRNN/CharRNN_Text/models/woolf
Beispiel) Text über Katzen ml5-examples-master/p5js/CharRNN/CharRNN_Text/models/cat
Text über Wahrsagerei ml5-examples-master/p5js/CharRNN/CharRNN_Text/models/horoscope
Ersetzen Sie "Woolf" durch den Ordnernamen, der zuvor unter "Modelle" erstellt wurde, da "Modelle" in "scan.js" angegeben ist.
charRNN = ml5.charRNN('./models/woolf/', modelReady);
https://github.com/ml5js/ml5-examples/blob/release/p5js/CharRNN/CharRNN_Text/sketch.js#L24
Python 3-Serie
python -m http.server
Python 2-Serie
python -m SimpleHTTPServer
Wenn Sie http: // localhost: 8000 / öffnen, wird das Verzeichnis angezeigt.
Klicken Sie auf pl5js
Klicken Sie auf CharRNN
Klicken Sie auf CharRNN_Text
Sie erreichen den Generatorbildschirm.
Starttext: Erster zu gebender Buchstabe Länge: Anzahl der Zeichen, die Sie generieren möchten Temperatur: Gewicht / Tiefe
seed text:happy length:100 Bei Temperatur erzeugter Text: 0,5
happy and the other grown herself, 'I was than the bottle my to little sing how the poor comly up and gut
seed text:happy length:100 Satz erzeugt durch Temperatur: 1
happys! All spomes wife a 'How finE it?' said 'Hares" should neven backed as much had right gaim--'
Der Text ist inkohärent.
Hinweise finden Sie im letztgenannten generierten Text. Hinweis "Kaninchen". Antwort: Alice im Wunderland Da der letztere Satz die Temperatur auf 1 gesetzt hat, ist es mehr Alice als der erstere (Temperatur: 0,5). Es sollte wie Abenteuer im Wunderland sein. Natürlich habe ich das Gefühl, dass das "Kaninchen" und die "Rechte" so sind.
Ich möchte mehr über ml5.CharRNN erfahren.
Wenn Sie mecab verwenden und japanische Satzdaten vorbereiten, können Sie möglicherweise japanische Sätze verwenden! Ich habe das gehört, also nehme ich mir einen Moment Zeit, um es zu versuchen. Es geht nicht ganz um Javascript lol