Začněte nyníZačněte zdarma

Embedding vrstva zlepšuje výkon

Zlepší embedding vrstva přesnost modelu? Pojďme to ověřit na stejných datech z IMDB.

Model byl již natrénován na 10 epochách, stejně jako předchozí model s buňkou simpleRNN. Pro porovnání modelů je v prostředí k dispozici testovací sada (X_test, y_test) a také starý model simpleRNN_model. Přesnost starého modelu je uložena v proměnné acc_SimpleRNN.

Všechny potřebné moduly a funkce jsou v prostředí načtené: Sequential() z keras.models, Embedding a Dense z keras.layers a SimpleRNN z keras.layers.

Toto cvičení je součástí kurzu

Rekurentní neuronové sítě (RNN) pro jazykové modelování s Keras

Zobrazit kurz

Pokyny k cvičení

  • Přidej do modelu embedding vrstvu.
  • Vypočítej přesnost modelu a ulož ji do proměnné acc_embeddings.
  • Vypiš přesnost starého i nového modelu.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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, ____))
Upravit a spustit kód