Inizia subitoInizia gratis

Preparare i dati per l'addestramento

In questo esercizio continuerai a preparare i dati per addestrare il modello. Dopo aver creato gli array di frasi e di caratteri successivi, devi trasformarli in valori numerici utilizzabili dal modello.

Questo passaggio è necessario perché i modelli RNN accettano solo numeri, non stringhe. Creerai array numerici che contengono zeri o uno nelle posizioni che rappresentano i caratteri presenti nelle frasi. Gli uno (o True) indicano che il carattere corrispondente è presente, mentre gli zeri (o False) indicano l’assenza del carattere in quella posizione della frase.

Le variabili sentences, next_char, n_vocab, chars_window, num_seqs (numero di frasi nei dati di training) sono già caricate nell’ambiente, così come numpy come np.

Questo esercizio fa parte del corso

Reti Neurali Ricorrenti (RNN) per il Language Modeling con Keras

Visualizza corso

Istruzioni dell'esercizio

  • Istanzia un np.array() di zeri con shape (numero di frasi, window di caratteri, dimensione del vocabolario).
  • Usa il dizionario char_to_index per impostare a 1 la posizione del carattere corrente.
  • Imposta a 1 il carattere successivo corrente.
  • Stampa la prima posizione di ciascun array.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# 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")
Modifica ed esegui il codice