LoslegenKostenlos loslegen

Vorbereitung der Daten für das Training

In dieser Übung machst du weiter mit der Vorbereitung der Daten, um das Modell zu trainieren. Nachdem du die Arrays mit den Sätzen und den nächsten Zeichen erstellt hast, musst du sie in Zahlenwerte umwandeln, die im Modell verwendet werden können.

Dieser Schritt ist wichtig, weil die RNN-Modelle nur Zahlen und keine Zeichenfolgen erwarten. Du wirst numerische Arrays erstellen, die an den Stellen, die die Zeichen in den Sätzen repräsentieren, Nullen oder Einsen enthalten. Einsen (oder „ True “) bedeuten, dass das entsprechende Zeichen da ist, während Nullen (oder „ False “) bedeuten, dass das Zeichen an dieser Stelle im Satz fehlt.

Die Variablen „ sentences “, „ next_char “, „ n_vocab “, „ chars_window “ und „ num_seqs “ (Anzahl der Sätze in den Trainingsdaten) sind schon in der Umgebung geladen, genauso wie „ numpy “ und „ np “.

Diese Übung ist Teil des Kurses

Rekursive neuronale Netze (RNNs) für die Sprachmodellierung mit Keras

Kurs anzeigen

Anleitung zur Übung

  • Instanziere eine „ np.array() ” mit Nullen und der Form „ (number of sentences, characters window, vocabulary size) ”.
  • Benutz das Wörterbuch „ char_to_index “, um die Position des aktuellen Zeichens auf „ 1 “ zu setzen.
  • Setz das nächste Zeichen auf „ 1 “.
  • Druck die erste Position jedes Arrays.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Instantiate the variables with zeros
numerical_sentences = np.zeros((____, ____, ____), dtype=np.bool)
numerical_next_chars = np.zeros((num_seqs, n_vocab), dtype=np.bool)

# Loop for every sentence
for i, sentence in enumerate(sentences):
  # Loop for every character in sentence
  for t, char in enumerate(sentence):
    # Set position of the character to 1
    numerical_sentences[i, t, ____] = ____
    # Set next character to 1
    ____[i, char_to_index[next_chars[i]]] = 1

# Print the first position of each
print(____, ____, sep="\n")
Code bearbeiten und ausführen