ÎncepețiÎncepe gratuit

Pregătirea datelor pentru antrenament

În acest exercițiu, vei continua să pregătești datele pentru antrenarea modelului. După ce ai creat tablourile de propoziții și caractere următoare, trebuie să le transformi în valori numerice care pot fi folosite de model.

Acest pas este necesar deoarece modelele RNN acceptă doar numere, nu șiruri de caractere. Vei crea tablouri numerice cu zerouri sau unu în pozițiile care reprezintă caracterele prezente în propoziții. Unu (sau True) indică faptul că caracterul corespunzător este prezent, în timp ce zero (sau False) indică absența caracterului în acea poziție din propoziție.

Variabilele sentences, next_char, n_vocab, chars_window, num_seqs (numărul de propoziții din datele de antrenament) sunt deja încărcate în mediu, alături de numpy importat ca np.

Acest exercițiu face parte din cursul

Rețele Neuronale Recurente (RNN) pentru Modelare a Limbajului cu Keras

Vezi cursul

Instrucțiuni pentru exercițiu

  • Instanțiază un np.array() cu zerouri și forma (număr de propoziții, fereastra de caractere, dimensiunea vocabularului).
  • Folosește dicționarul char_to_index pentru a seta poziția caracterului curent la 1.
  • Setează caracterul următor curent la 1.
  • Afișează prima poziție din fiecare tablou.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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")
Editează și rulează codul