Zacznij terazZacznij za darmo

Osadzenia poprawiają wyniki

Czy warstwa osadzenia (embedding) poprawia dokładność modelu? Sprawdźmy to na tych samych danych IMDB.

Model został już wytrenowany przez 10 epok, tak jak poprzedni model z komórką simpleRNN. Aby porównać oba modele, w środowisku dostępny jest zbiór testowy (X_test, y_test) oraz stary model simpleRNN_model. Dokładność starego modelu jest zapisana w zmiennej acc_SimpleRNN.

Wszystkie wymagane moduły i funkcje są załadowane w środowisku: Sequential() z keras.models, Embedding i Dense z keras.layers oraz SimpleRNN z keras.layers.

To ćwiczenie jest częścią kursu

Rekurencyjne sieci neuronowe (RNN) do modelowania języka w Keras

Zobacz kurs

Instrukcje do ćwiczenia

  • Dodaj warstwę osadzenia do modelu.
  • Oblicz dokładność modelu i zapisz ją w zmiennej acc_embeddings.
  • Wyświetl dokładność starego i nowego modelu.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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, ____))
Edytuj i uruchom kod