Kom igångKom igång gratis

Inbäddningar förbättrar prestandan

Förbättrar inbäddningslagret modellens noggrannhet? Låt oss undersöka det med samma IMDB-data.

Modellen har redan tränats i 10 epoker, precis som den tidigare modellen med simpleRNN-cellen. För att kunna jämföra modellerna finns ett testset (X_test, y_test) tillgängligt i miljön, liksom den gamla modellen simpleRNN_model. Den gamla modellens noggrannhet är lagrad i variabeln acc_SimpleRNN.

Alla nödvändiga moduler och funktioner är inlästa i miljön: Sequential() från keras.models, Embedding och Dense från keras.layers samt SimpleRNN från keras.layers.

Den här övningen är en del av kursen

Återkommande neurala nätverk (RNN) för språkmodellering med Keras

Visa kurs

Övningsinstruktioner

  • Lägg till inbäddningslagret i modellen.
  • Beräkna modellens noggrannhet och lagra den i variabeln acc_embeddings.
  • Skriv ut noggrannheten för den gamla och den nya modellen.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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, ____))
Redigera och kör kod