Inizia subitoInizia gratis

Gli embedding migliorano le prestazioni

Lo strato di embedding migliora l'accuratezza del modello? Verifichiamolo sullo stesso insieme di dati IMDB.

Il modello è già stato addestrato per 10 epoche, come nel modello precedente con cella simpleRNN. Per confrontare i modelli, nell'ambiente sono disponibili un set di test (X_test, y_test) e il vecchio modello simpleRNN_model. L'accuratezza del vecchio modello è caricata nella variabile acc_SimpleRNN.

Tutti i moduli e le funzioni necessari sono caricati nell'ambiente: Sequential() da keras.models, Embedding e Dense da keras.layers e SimpleRNN da keras.layers.

Questo esercizio fa parte del corso

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

Visualizza corso

Istruzioni dell'esercizio

  • Aggiungi lo strato di embedding al modello.
  • Calcola l'accuratezza del modello e salvala nella variabile acc_embeddings.
  • Stampa l'accuratezza del vecchio e del nuovo modello.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# Create the model with embedding
model = Sequential(name="emb_model")
model.add(____(input_dim=max_vocabulary, output_dim=wordvec_dim, input_length=max_len))
model.add(SimpleRNN(units=128))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

# Load pre-trained weights
model.load_weights('embedding_model_weights.h5')

# Evaluate the models' performance (ignore the loss value)
_, ____ = model.evaluate(X_test, y_test, verbose=0)

# Print the results
print("SimpleRNN model's accuracy:\t{0}\nEmbeddings model's accuracy:\t{1}".format(acc_simpleRNN, ____))
Modifica ed esegui il codice