क्या हमें और डेटा चाहिए?
अब जाँचने का समय है कि आपने जो digits डेटासेट का model बनाया है, उसे और अधिक training examples से लाभ मिलता है या नहीं!
कोड को न्यूनतम रखने के लिए, कई चीजें पहले से initialize की गई हैं और उपयोग के लिए तैयार हैं:
- अभी-अभी बनाया गया
model. X_train,y_train,X_test, औरy_test.- आपके मॉडल के
initial_weights, जिन्हेंmodel.get_weights()के बाद सहेजा गया है. - training sizes की एक pre-defined सूची:
training_sizes. - loss मॉनिटर करने वाला pre-defined early stopping callback:
early_stop. - evaluation परिणाम सहेजने के लिए दो खाली सूचियाँ:
train_accsऔरtest_accs.
अपने मॉडल को अलग-अलग training sizes पर train कीजिए और X_test पर परिणाम evaluate कीजिए.
अंत में plot_results() से परिणामों का plot बनाइए.
इस अभ्यास का पूरा कोड स्लाइड्स पर उपलब्ध है!
यह अभ्यास पाठ्यक्रम का हिस्सा है
Keras के साथ डीप लर्निंग परिचय
अभ्यास निर्देश
- लूप में वर्तमान
sizeके अनुसार प्रशिक्षण डेटा का उतना हिस्सा लीजिए. set_weights()से मॉडल के वेट्स कोinitial_weightsपर सेट कीजिए और प्रशिक्षण डेटा के उस हिस्से परearly_stopको callback के रूप में इस्तेमाल करते हुए मॉडल को train कीजिए.- प्रशिक्षण हिस्से और टेस्ट सेट दोनों के लिए accuracy evaluate करके सहेजिए.
- हर training size के लिए training और test accuracies पास करते हुए
plot_results()को कॉल कीजिए.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
for size in training_sizes:
# Get a fraction of training data (we only care about the training data)
X_train_frac, y_train_frac = X_train[:size], y_train[:size]
# Reset the model to the initial weights and train it on the new training data fraction
model.set_weights(____)
model.fit(X_train_frac, y_train_frac, epochs = 50, callbacks = [early_stop])
# Evaluate and store both: the training data fraction and the complete test set results
train_accs.append(model.evaluate(____, ____)[1])
test_accs.append(model.evaluate(____, ____)[1])
# Plot train vs test accuracies
plot_results(____, ____)