Convolutions को देखना
कॉन्वॉल्यूशनल लेयर की एक्टिवेशंस को देखना वाकई मज़ेदार है. इसे आपको जीवन में कम-से-कम एक बार ज़रूर करना चाहिए!
इसके लिए, आप Keras के Model ऑब्जेक्ट से एक नया मॉडल बनाएँगे, जो इनपुट्स की एक लिस्ट और आउटपुट्स की एक लिस्ट लेता है. जो आउटपुट आप इस नए मॉडल को देंगे, वे इस मॉडल की पहली कॉन्वॉल्यूशनल लेयर के आउटपुट होंगे, जब इनपुट इमेज के रूप में एक MNIST डिजिट दिया जाए.
पिछले अभ्यास में जो कॉन्वॉल्यूशनल model आपने बनाया था, उसे आपके लिए पहले ही ट्रेन किया जा चुका है. अब वह MNIST हैंडरिटन इमेजेज को सही ढंग से क्लासिफाई कर सकता है. आप कंसोल में model.summary() से यह जाँच सकते हैं.
आइए इस मॉडल की पहली कॉन्वॉल्यूशनल लेयर में सीखे गए कॉन्वॉल्यूशनल मास्क्स पर नज़र डालें!
यह अभ्यास पाठ्यक्रम का हिस्सा है
Keras के साथ डीप लर्निंग परिचय
अभ्यास निर्देश
- मॉडल में पहली कॉन्वॉल्यूशनल लेयर के आउटपुट्स का रेफ़रेंस प्राप्त करें.
- मॉडल की पहली लेयर के इनपुट और
first_layer_outputको आउटपुट्स के रूप में इस्तेमाल करते हुए एक नया मॉडल बनाएँ. - इस
first_layer_modelसेX_testपर प्रेडिक्ट करें. X_testके पहले डिजिट की एक्टिवेशंस को 15th और 18th न्यूरॉन फ़िल्टर के लिए प्लॉट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Obtain a reference to the outputs of the first layer
first_layer_output = model.layers[____].output
# Build a model using the model's input and the first layer output
first_layer_model = Model(inputs = model.layers[0].input, outputs = ____)
# Use this model to predict on X_test
activations = ____.____(____)
# Plot the activations of first digit of X_test for the 15th filter
axs[0].matshow(activations[____,:,:,14], cmap = 'viridis')
# Do the same but for the 18th filter now
axs[1].matshow(activations[0,:,:,____], cmap = 'viridis')
plt.show()