So Ihre idata sollte eine Form haben: [batch_size, maximum_sequence_length, 257]. (Falls nicht alle Sequenzen in einer Charge die gleiche Länge haben müssen Sie Pad wie nötig, und vorsichtig sein, wenn Verluste der Berechnung, dass dies nur über unwattierter Werte erfolgt.)
Der dynamic_rnn durchläuft Ihre Eingabe nach Zeit für Sie. Sie müssen also nur die Stapel durchlaufen.
Da Ihre zweite Dimension der IDATA ist 1, Sie haben Recht, dass Ihre effektive Sequenzlänge 1 ist.
Für ein Sprachmodell nicht zeichenbasierte aber mit Wort Einbettungen zu sehen diesen Tutorial.
Weitere Hinweise:
-
Wenn Sie mit einem unterschiedlichen Anzahl von Einheiten in der LSTM experimentieren wollen - prüfen, auf der Oberseite der Ausgabe eine lineare Schicht Zugabe jede Ausgabe zu projizieren (für Batch-Eintrag zum Zeitpunkt t i) bis 257, die die Zahl von Klassen Ihres Ziels.
-
Sie müssen keine Ein-Hot-Codierung des Ziels durchführen. Schauen Sie sich Sparse_softmax_cross_entropy an.