Aan de slagGa gratis aan de slag

Embeddings verbeteren de prestaties

Verbetert de embeddinglaag de nauwkeurigheid van het model? Laten we het controleren op dezelfde IMDB-gegevens.

Het model is al getraind met 10 epochs, net als het vorige model met een simpleRNN-cel. Om de modellen te vergelijken, is er een testset (X_test, y_test) beschikbaar in de omgeving, evenals het oude model simpleRNN_model. De nauwkeurigheid van het oude model is geladen in de variabele acc_SimpleRNN.

Alle vereiste modules en functies zijn in de omgeving geladen: Sequential() uit keras.models, Embedding en Dense uit keras.layers en SimpleRNN uit keras.layers.

Deze oefening maakt deel uit van de cursus

Recurrent Neural Networks (RNN's) voor taalmodellen met Keras

Cursus bekijken

Oefeninstructies

  • Voeg de embeddinglaag toe aan het model.
  • Bereken de nauwkeurigheid van het model en sla die op in de variabele acc_embeddings.
  • Print de nauwkeurigheid van het oude en het nieuwe model.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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, ____))
Code bewerken en uitvoeren