Ich habe versucht, Sätze mit LSTM mit TensorFlow zu generieren. Vollständig n-te Abkochung. Das ist normal, also möchte ich lernen, die Botschaft des Christuszeichens zu verwenden, die an der Hütte in den Bergen angebracht ist, und einen Satz von ** "Nicht existierendes Christuszeichen" machen. .. ** **.
** (Ergänzung) Ich habe einen Artikel hochgeladen, in dem Seq2Seq ausprobiert wurde. Bitte geben Sie dies auch an. ** **. [\ TensorFlow ] Ich hatte das Gefühl, dass ich mit Seq2Seq --Qiita Nachrichten im Stil eines "Post-Mortem-Urteils" in Massenproduktion erstellen konnte.
So was.
Es gibt einen Artikel über die Leute, die es machen. Christuszeichen, das den Moment sieht, in dem es eingefügt wird, steht in engem Zusammenhang mit den missionarischen Aktivitäten der Bible Distribution Cooperation Association
Wenn Sie mehr von den Zeichen sehen möchten, gehen Sie bitte zu ↓ (Werbung. Ich mache es). Christ sign image bot (@christsignbot) / Twitter
** Dieser Artikel wurde von einer Person verfasst, die nichts mit der Bible Distribution Cooperation Association zu tun hat und nicht dazu gedacht ist, eine Position zu einer bestimmten Religion auszudrücken. ** Bitte sehen Sie es als "versuchten" Bericht.
Grundsätzlich handelt es sich um eine Umleitung der Keras-Stichprobe. Ich lerne LSTM, dass bei Eingabe einer Zeichenfolge (Zeichenfolge) das nächste Zeichen vorhergesagt wird. Geben Sie beim Generieren eines Satzes am Anfang einige Zeichen ein und generieren Sie dann die folgenden Sätze nach dem Zufallsprinzip Zeichen für Zeichen. keras/lstm_text_generation.py at master · keras-team/keras
Im Beispiel scheint es, dass Sie mit Nischensätzen lernen, aber es ist etwas unstudiert, und selbst wenn Sie sich die generierte Ausgabe ansehen, sind Sie sich nicht sicher, ob es sich um einen Nischen-ähnlichen Satz handelt. Ich hoffe, dass das Christuszeichen Ihnen ein besseres Verständnis der erzielten Ergebnisse gibt.
Zu diesem Beispiel gab es einen Kommentarartikel. Wenn Sie interessiert sind, bitte. Erläuterung des Beispielcodes für die Keras-Einzel-LSTM-Zeichengenerierung --Qiita
Aufgrund der Art der diesmal verwendeten Daten wurden die folgenden Punkte gegenüber dem Original geändert.
Die Lerndaten sind eine Kopie des Originaltextes des Schildes.
lstm_text_generation_train.py
from tensorflow.keras.callbacks import LambdaCallback
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from tensorflow.keras.layers import LSTM
from tensorflow.keras.optimizers import RMSprop
from tensorflow.keras.callbacks import ModelCheckpoint
import numpy as np
import random
import sys
text = """
Oh, hör auf die Welt, die Welt, die Welt, das Wort Gottes
Die Belohnung des Bösen ist der Tod
Ein lustvoller Mensch erkennt Gott nicht
Diejenigen, die das Böse säen, ernten eine Katastrophe
Dein Gott ist allein
Machen Sie sich bereit, Ihren Hersteller zu treffen
Erinnere dich an deinen Schöpfer
Jesus Christus ist dein Schöpfer
Jesus Christus gibt ewige Hoffnung
Jesus Christus ist der einzige Sohn Gottes
Jesus Christus ist der Sohn Gottes
Jesus Christus ist der einzige Gott
Jesus Christus beurteilt die Welt richtig
Diejenigen, die Jesus Christus anrufen, werden gerettet
ewiges Leben
Quelle des ewigen Lebens
Ewiger Gott
Quelle der ewigen Erlösung
Hoffnung auf Ewigkeit
Steh in den letzten Tagen vor Gott
In den letzten Tagen steht der Mensch vor Gott
Der Tag, an dem Gott die Menschheit richtet, ist nahe
Versöhne dich mit Gott
Bereue deine Sünden gegen Gott
Suche das Reich Gottes und die Gerechtigkeit Gottes
Suche das Reich Gottes und Gerechtigkeit
Das Reich Gottes nähert sich
Das Reich Gottes nähert sich der Umkehr.
Diejenigen, die das Wort Gottes ablehnen, bevorzugen den Tod
Gottes Gericht kommt plötzlich
Der Tag des gerechten Gerichts Gottes ist nahe
Jesus Christus, der einzige Sohn Gottes, ist der Messias
Gott sagt, es ist keine Regel, hier zu sterben
Gott sieht das Herz
Gott bestraft die Sünde
Gott sandte den einzigen Sohn Christus in die Welt
Gott sandte seinen Sohn Christus in die Welt
Gott ist der einzige
Gott machte die Weisheit der Welt töricht
Gott hat den Tag festgelegt, um die Welt zu richten
Bereue deine Haltung gegenüber Gott
Ehrfurcht vor Gott
Fürchte Gott
Diejenigen, die sich von Gott entfernen, betreten den Weg des Bösen
Erkenne Gott an
Suche Gott
Denken Sie an Ihr Ziel nach dem Tod
Heute ist der Tag der Erlösung
Es gibt keine andere Erlösung als Christus
Der Tag, an dem Christus die Menschen richten wird, ist nahe.
Christus ist der wahre Gott
Christus ist der Weg, die Wahrheit, das Leben
Die Wiederkunft Christi ist nahe.
Reinige die Blutsünde Christi
Das Blut Christi reinigt die Sünde
Das Blut Christi reinigt die Sünde
Das Blut Christi reinigt die Sünde.
Das Blut Christi beseitigt die Sünde
Es gibt keinen Gott außer Christus
Die Auferstehung Christi ist eine Bestätigung der Erlösung
Christus gibt dir ewiges Leben
Christus rechtfertigt dich
Christus befreit dich von der Sünde
Christus gibt ewiges Leben
Christus ist der Sohn Gottes
Christus hat am Kreuz gesündigt
Christus ist das wahre Alter Ego Gottes
Christus wird bald kommen
Christus wird bald kommen
Christus hebt die Sünde auf und gibt Leben
Christus widerruft die Sünde
Christus vergibt die Sünde und gibt ewiges Leben
Christus ist aus dem Grab auferstanden
Christus ist aus dem Grab auferstanden
Christus hat im Namen des Menschen gesündigt
Christus wird wiederkommen und die Welt richten
Christus wird wiederkommen und die Welt richten
Christus wird wiederkommen
Christus wird wiederkommen
Christus wurde auferweckt
Christus ist der wahre Gott
Christus ist das wahre Alter Ego Gottes
Christus hat an seiner Stelle gesündigt
Christus ist der Weg, die Wahrheit, das Leben
Christus ist auferstanden und hat ewiges Leben gegeben
Christus hat den Tod wiederbelebt und überwunden
Diejenigen, die an Christus glauben, werden gerettet
Diejenigen, die an Christus glauben, haben ewiges Leben
Diejenigen, die Christus anrufen, werden gerettet
Bereuen
Bereuen
Götzenanbetung ist eine Sünde
Zum Glück für diejenigen, die ein reines Herz haben
Glaube an Gott von ganzem Herzen
Gott beurteilt die Sünde des Herzens
Entkomme dem unauslöschlichen Feuer der Hölle
Die Hölle ist ewiges Leiden
Die Hölle ist der zweite Tod
Es gibt ein Urteil nach dem Tod
Treffen Sie das Urteil nach dem Tod
Treffen Sie das Urteil nach dem Tod.
Denken Sie an Ihr Ziel nach dem Tod
Denken Sie an Ihr Ziel nach dem Tod
Gott sieht das Privatleben
Es gibt einen Weg des Todes und einen Weg des Lebens
Der Tod ist der Lohn der Sünde
Die Rückkehr des Herrn Jesus Christus ist nahe
Die Auferstehung des Herrn Jesus Christus ist eine Bestätigung der Erlösung
Herr Jesus Christus ist der Schöpfer aller Dinge
Der Tag des Herrn kommt plötzlich
Das Leben ist schrecklich, der Himmel ist lang
Niemand hat recht
Glaube einfach daran
Glaube mir
Die korrupte Gesellschaft erkennt Gott nicht an
Erde und Menschen gehören zu Gott
Verehre keine "gemachten" Dinge
Zum Glück diejenigen, die von ihren Sünden gereinigt wurden
Zum Glück diejenigen, die von der Sünde gereinigt wurden
Aufklärung über Sünde, Gerechtigkeit und Gericht
Wenn du mit Sünde stirbst, wirst du in die ewige Hölle gehen
Wenn du an Sünde stirbst, wirst du in die ewige Hölle gehen
Der Lohn der Sünde ist der Tod
Der Lohn der Sünde ist der Tod, die Gabe Gottes ist das ewige Leben
Der Lohn der Sünde ist der Tod, die Gabe Gottes ist das ewige Leben in Christus
Vergebung der Sünde
Vergebung der Sünden
Bitte um Vergebung der Sünden
Gott bestraft die Sünde
Zum Glück diejenigen, die gereinigt wurden
Bereue deine Sünden
Bereue deine Sünden
Himmel oder Hölle oder dein Ziel
Der Himmel ist das ewige Leben Die Hölle ist das Meer des Feuers
Selbst wenn Himmel und Erde zugrunde gehen, werden meine Worte nicht auseinanderfallen
Schöpfer aller Dinge
Himmel oder Hölle oder alle Menschen werden wiederbeleben
Das Himmelreich bereut die nahe Sünde
Achten Sie auf Fälschungen
Am Anfang schuf Gott Himmel und Erde
Vom Menschen geschaffene Dinge sind keine Götter
Werde das menschliche Übel los
Die Sünde wohnt in Menschen
Die Sünden der Menschen loswerden
Gott sieht die Wege und Taten der Menschen
Der Feuerteich ist der zweite Tod
Ungerechtigkeit einlösen
Gott beurteilt Unmoral und Geschlechtsverkehr
Gott beurteilt Untreue und Geschlechtsverkehr
Es gibt einen Weg des Todes und einen Weg des Lebens
Erkenne Gott nicht in der krummen Ära
Der wahre Gott liebt Menschen und beseitigt ihre Sünden
Glaube an den wahren Gott
Glaube an den wahren Gott.
Straße, Wahrheit, Leben
Siehe, ich werde bald kommen
Die Welt und die Gier der Welt sterben
Das Ende der Welt ist nahe
Das Ende der Welt kommt plötzlich
Der auferstandene Christus gibt ewiges Leben
Beurteile die Welt richtig
Diejenigen, die sagen, dass das Böse gut ist
Diejenigen, die Götzen verehren
Der Held des Trinkens
Diejenigen, die sich die Mühe machen zu tragen
Ich bin der Weg, die Wahrheit, das Leben
Meine Worte haben ewiges Leben
ich bin das Leben
Ich bin das Brot des Lebens
Ich bin das Brot des Lebens
Ich habe die Schlüssel zu Tod und Hölle
Ich bin die Wahrheit
Ich bin die Wahrheit
Ich bin das Licht der Welt
Diejenigen, die an mich glauben, haben ewiges Leben
Diejenigen, die an mich glauben, haben ewiges Leben
Diejenigen, die an mich glauben, haben ewiges Leben
Diejenigen, die an mich glauben, leben, auch wenn sie sterben
Ich bin die Wahrheit und das Leben
Ich erinnere mich an deinen Schöpfer.
Es gibt keine andere Erlösung als Jesus Christus.
Rufen Sie Gott an, bevor es zu spät ist.
In den letzten Tagen steht der Mensch vor Gott.
Christus wird die verborgenen Dinge richten.
Christus, der von Gott gesandt wurde, ist der Retter
Wenn Sie zu Gott zurückkehren, wird Gott Ihnen reichlich vergeben.
Bereue deine Sünden gegen Gott.
Das Reich Gottes ist nahe. Tut Buße.
Der Tag des Gerichts Gottes ist nahe.
Das Geschenk Gottes ist das ewige Leben
Gott liebt Menschen und beseitigt ihre Sünden.
Fürchte Gott und gehorche dem Wort.
Erkenne Gott, fürchte dich und verlasse die Sünde.
Christus hat das Wort des ewigen Lebens.
Nimm das Heil Christi an.
Das Blut Christi reinigt die Sünde.
Christus wird zurückkommen und die Welt richten.
Christus war des Menschen am Kreuz schuldig.
Christus rettet Sünder.
Christus gibt dem Menschen ewiges Leben.
Christus wurde im Namen des Menschen bestraft.
Christus befreit die Menschen von der Sünde.
Glaube an Christus und sei gerettet.
Diejenigen, die Christus anrufen, werden gerettet.
Tut Buße und glaubt an das Evangelium.
Bereuen.
Diejenigen, die Buße tun, werden von Christus erlöst.
Sei von ganzem Herzen erneuert.
Denken Sie an Ihr Ziel nach dem Tod
Zum Glück diejenigen, die von ihren Sünden gereinigt wurden.
Der Lohn der Sünde ist der Tod
Bitte vergib mir meine Sünden.
Die Sünde loswerden.
Erkenne deine Sünden an und kehre zu Gott zurück.
Christus wurde auferweckt, weil der Mensch gerechtfertigt war.
Gott sieht die Herzen und Gedanken der Menschen.
Man trifft auf ein Obduktionsurteil.
Die Welt und die Gier der Welt sind verschwunden.
Es gibt keinen anderen Gott als mich.
Ich bin der Weg, die Wahrheit, das Leben.
Diejenigen, die an mich glauben, haben ewiges Leben.
"""
lines = [s + "\n" for s in text.strip().split("\n")]
print('corpus length:', sum(len(s) for s in lines))
chars = list(sorted(set("".join(lines))))
print('total chars:', len(chars))
char_indices = dict((c, i) for i, c in enumerate(chars))
indices_char = dict((i, c) for i, c in enumerate(chars))
print(chars)
# cut the text in semi-redundant sequences of maxlen characters
maxlen = 3
step = 1
sentences = []
next_chars = []
for s in lines:
for i in range(0, len(s) - maxlen, step):
sentences.append(s[i: i + maxlen])
next_chars.append(s[i + maxlen])
print('nb sequences:', len(sentences))
print('Vectorization...')
x = np.zeros((len(sentences), maxlen, len(chars)), dtype=np.bool)
y = np.zeros((len(sentences), len(chars)), dtype=np.bool)
for i, sentence in enumerate(sentences):
for t, char in enumerate(sentence):
x[i, t, char_indices[char]] = 1
y[i, char_indices[next_chars[i]]] = 1
# build the model: a single LSTM
print('Build model...')
model = Sequential()
model.add(LSTM(128, input_shape=(maxlen, len(chars))))
model.add(Dense(len(chars), activation='softmax'))
model.summary()
optimizer = RMSprop(learning_rate=0.01)
model.compile(loss='categorical_crossentropy', optimizer=optimizer)
def sample(preds, temperature=1.0):
# helper function to sample an index from a probability array
preds = np.asarray(preds).astype('float64')
preds = np.log(preds) / temperature
exp_preds = np.exp(preds)
preds = exp_preds / np.sum(exp_preds)
probas = np.random.multinomial(1, preds, 1)
return np.argmax(probas)
def on_epoch_end(epoch, _):
# Function invoked at end of each epoch. Prints generated text.
print()
print('----- Generating text after Epoch: %d' % epoch)
line_index = random.randint(0, len(lines) - 1)
start_index = 0
for diversity in [0.2, 0.5, 1.0, 1.2]:
print('----- diversity:', diversity)
generated = ''
sentence = lines[line_index][start_index: start_index + maxlen]
generated += sentence
print('----- Generating with seed: "' + sentence + '"')
sys.stdout.write(generated)
for i in range(100):
x_pred = np.zeros((1, maxlen, len(chars)))
for t, char in enumerate(sentence):
x_pred[0, t, char_indices[char]] = 1.
preds = model.predict(x_pred, verbose=0)[0]
next_index = sample(preds, diversity)
next_char = indices_char[next_index]
if next_char == "\n":
sys.stdout.flush()
break
sentence = sentence[1:] + next_char
sys.stdout.write(next_char)
sys.stdout.flush()
print()
print_callback = LambdaCallback(on_epoch_end=on_epoch_end)
cp_cb = ModelCheckpoint(
filepath="model.{epoch:02d}.hdf5",
verbose=1,
mode="auto")
model.fit(x, y,
batch_size=32,
epochs=60,
callbacks=[print_callback, cp_cb])
Der erste ist zerfetzt.
----- Generating text after Epoch: 0
----- diversity: 0.2
----- Generating with seed: "Gottes Hallo"
Haru Gott
----- diversity: 0.5
----- Generating with seed: "Gottes Hallo"
Gottes Tag ist Gottes Gut.
----- diversity: 1.0
----- Generating with seed: "Gottes Hallo"
Gott nahe
----- diversity: 1.2
----- Generating with seed: "Gottes Hallo"
Die Erschaffung der reinen, gleichmäßigen Tenbos in der Konstruktion Gottes, dem Land des ewigen Todes und der lebensspendenden Statuen
Es wird allmählich mehr wie ein Satz. Ich habe das Gefühl, dass der Originaltext so ist, wie er ist.
----- Generating text after Epoch: 11
----- diversity: 0.2
----- Generating with seed: "Kiris"
Christus befreit die Menschen von der Sünde.
----- diversity: 0.5
----- Generating with seed: "Kiris"
Christus hat ewiges Leben für diejenigen, die an den wahren Gott glauben
----- diversity: 1.0
----- Generating with seed: "Kiris"
Christus wird bald kommen
----- diversity: 1.2
----- Generating with seed: "Kiris"
Das Blut Christi beseitigt die Sünde
↓ Es fühlt sich gut an. Tatsächlich handelt es sich bei keinem von ihnen um Sätze, die in den Trainingsdaten nicht vorhanden sind.
----- Generating text after Epoch: 36
----- diversity: 0.2
----- Generating with seed: "Vertrau mir"
Diejenigen, die an mich glauben, werden gerettet.
----- diversity: 0.5
----- Generating with seed: "Vertrau mir"
Diejenigen, die an mich glauben, sind ewiges Leben
----- diversity: 1.0
----- Generating with seed: "Vertrau mir"
Diejenigen, die an mich glauben, werden gerettet
----- diversity: 1.2
----- Generating with seed: "Vertrau mir"
Rette diejenigen, die an mich glauben.
Das Ende ist so. Da die Zeichen entsprechend der Wahrscheinlichkeit zufällig ausgewählt werden, kann der Satz manchmal zusammenbrechen.
Epoch 60/60
----- Generating text after Epoch: 59
----- diversity: 0.2
----- Generating with seed: "Ist es der Himmel?"
Himmel oder Hölle oder dein Schöpfer
----- diversity: 0.5
----- Generating with seed: "Ist es der Himmel?"
Himmel oder Hölle oder dein Ziel
----- diversity: 1.0
----- Generating with seed: "Ist es der Himmel?"
Himmel oder Hölle oder du kannst nicht von der Sünde gereinigt werden
----- diversity: 1.2
----- Generating with seed: "Ist es der Himmel?"
Himmel oder Hölle oder jeder belebt wieder
Ich habe das Modell für jede Epoche gespeichert, also habe ich es verwendet. Wenn Sie 3 Buchstaben eingeben, werden 10 Muster der folgenden Sätze erstellt.
lstm_text_generation_exec.py
from tensorflow.keras.models import load_model
import numpy as np
import sys
# generated in train phase
chars = list('\n ,. "" Aiue Oka Kigiku Guke Kosazaji Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Suzu Se Suzu Shimofuyosei Chief 2 Tote Imadaikai Shinroku Abendstatue Senko Iriuchi Re-Division Erste Mae Sokatsu Toshiki Takeshi Nannte japanische Waren Yuiyoshi Kokuchi Koho Grab Äußeres Tenkokanko Takakis Rückkehr auf den Grund, Rache, Bedauern, Bedauern, Dummheit, Weigerung zu verehren, zu entlasten, zu entlasten, neues Datum und neue Uhrzeit Gefängnis Risei wiedergeboren Shinchi Kakusha Shinfuku Privat stehend Endgültige Sünde Bestrafung Betrachter Anhörung Leiden Großbritannien Fallen Leaf Blood Circulation Urteil Sound Release Top Drink')
char_indices = dict((c, i) for i, c in enumerate(chars))
indices_char = dict((i, c) for i, c in enumerate(chars))
maxlen = 3
# load the model
model = load_model("model.60.hdf5")
def sample(preds, temperature=1.0):
# helper function to sample an index from a probability array
preds = np.asarray(preds).astype('float64')
preds = np.log(preds) / temperature
exp_preds = np.exp(preds)
preds = exp_preds / np.sum(exp_preds)
probas = np.random.multinomial(1, preds, 1)
return np.argmax(probas)
def generate(model, first_chars):
diversity = 1.0
for trial in range(10):
generated = first_chars
sentence = first_chars[-maxlen:]
sys.stdout.write(first_chars)
for i in range(100):
x_pred = np.zeros((1, maxlen, len(chars)))
for t, char in enumerate(sentence):
x_pred[0, t, char_indices[char]] = 1.
preds = model.predict(x_pred, verbose=0)[0]
next_index = sample(preds, diversity)
next_char = indices_char[next_index]
if next_char == "\n":
sys.stdout.flush()
break
sentence = sentence[1:] + next_char
sys.stdout.write(next_char)
sys.stdout.flush()
print()
for l in iter(sys.stdin.readline, ""):
l = l.rstrip()
if l == "":
continue
if len(l) < 3:
print("ERROR: input must be >= 3 characters", file=sys.stderr)
continue
if not all(c in chars for c in l):
print("ERROR: invalid charater", file=sys.stderr)
continue
generate(model, l)
Ausführungsbeispiel.
>>>Jesus
Jesus Christus rechtfertigt dich
Jesus Christus ist deine Gerechtigkeit
Das Blut Jesu Christi reinigt die Sünde.
Jesus Christus als Quelle des ewigen Lebens
Jesus Christus liebt Menschen und ihre Quelle
Glaube an Jesus Christus
Jesus Christus ist dein Schöpfer
Jesus Christus gibt dir ewiges Leben
Das Blut Jesu Christi reinigt die Sünde.
Jesus Christus ist das Ziel
>>>Kiris
Christus ist auferstanden und hat ewiges Leben gegeben
Christus hat an seiner Stelle gesündigt.
Diejenigen, die an Christus glauben, haben ewiges Leben
Reinige die Blutsünde Christi
Christus ist der Weg, die Wahrheit, das Leben
Christus ist der Retter
Habe ein ewiges Leben in Christus.
Christus reinigt die Sünde
Es gibt keine andere Erlösung als Christus
Christus wurde in die Welt gesandt
>>>Sie
Dein Schöpfer
Befreie dich von der Sünde.
Erinnere dich an deinen Schöpfer.
Du wurdest von der Sünde gereinigt.
Begründe dich
Erinnere dich an deinen Schöpfer.
Begründe dich
Erinnere dich an deinen Schöpfer.
Dein Schöpfer
Erinnere dich an deinen Schöpfer.
>>>Wahrer Gott
Das Alter Ego des wahren Gottes
Es gibt keinen wahren Gott
Der wahre Gott liebte die Menschen und war an ihnen schuld.
Das Alter Ego des wahren Gottes
Das Alter Ego des wahren Gottes
Wahrer Gott
Diejenigen, die an den wahren Gott glauben, geben ewiges Leben
Der wahre Gott.
Diejenigen, die an den wahren Gott glauben, leben, auch wenn sie sterben
Wahrer Gott
"Diejenigen, die an den wahren Gott glauben, werden leben, auch wenn sie sterben", obwohl die Trainingsdaten keinen gleichen Satz enthalten, macht dies normalerweise Sinn und ich persönlich mag es. (Lol)
Auferstehung des Christuszeichengenerators (v2): Dies wird auch von mir gemacht (auch beworben).
Recommended Posts