Embeddings से प्रदर्शन बेहतर होता है
क्या embedding लेयर मॉडल की accuracy बेहतर करती है? आइए उसी IMDB डेटा पर जाँचते हैं.
मॉडल को पहले ही 10 epochs के साथ train किया गया है, जैसा कि पिछले simpleRNN सेल वाले मॉडल में किया था. मॉडलों की तुलना करने के लिए, एनवायरनमेंट में टेस्ट सेट (X_test, y_test) उपलब्ध है, साथ ही पुराना मॉडल simpleRNN_model भी. पुराने मॉडल की accuracy वैरिएबल acc_SimpleRNN में लोड की गई है.
सभी आवश्यक मॉड्यूल और फंक्शन एनवायरनमेंट में लोड हैं: keras.models से Sequential(), keras.layers से Embedding और Dense, और keras.layers से SimpleRNN.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Keras के साथ भाषा मॉडलिंग के लिए Recurrent Neural Networks (RNNs)
अभ्यास निर्देश
- मॉडल में embedding लेयर जोड़ें.
- मॉडल की accuracy compute करें और उसे वैरिएबल
acc_embeddingsमें स्टोर करें. - पुराने और नए दोनों मॉडलों की accuracy प्रिंट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# 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, ____))