टेंसरफ्लो और प्री-ट्रेंड मॉडल का उपयोग 'matplotlib' लाइब्रेरी का उपयोग करके डेटा विज़ुअलाइज़ करने के लिए किया जा सकता है। 'plot' मेथड का उपयोग कंसोल पर डेटा प्लॉट करने के लिए किया जाता है।
और पढ़ें: टेंसरफ्लो क्या है और केरस टेंसरफ्लो के साथ न्यूरल नेटवर्क बनाने में कैसे काम करता है?
एक न्यूरल नेटवर्क जिसमें कम से कम एक लेयर होती है, कन्वोल्यूशनल लेयर के रूप में जानी जाती है। हम कन्वोल्यूशनल न्यूरल नेटवर्क का उपयोग लर्निंग मॉडल बनाने के लिए कर सकते हैं।
हम समझेंगे कि प्री-ट्रेंड नेटवर्क से ट्रांसफर लर्निंग की मदद से बिल्ली और कुत्ते की इमेज को कैसे क्लासिफाई करें। इमेज क्लासिफिकेशन के लिए ट्रांसफर लर्निंग के पीछे अंतर्ज्ञान यह है कि यदि कोई मॉडल बड़े और सामान्य डेटासेट पर प्रशिक्षित है, तो यह मॉडल दृश्य दुनिया के लिए एक सामान्य मॉडल के रूप में प्रभावी ढंग से काम कर सकता है। इसने फीचर मैप सीखे होंगे, जिसका अर्थ है कि उपयोगकर्ता को बड़े डेटासेट पर बड़े मॉडल को प्रशिक्षित करके स्क्रैच से शुरू नहीं करना पड़ेगा।
और पढ़ें: कस्टमाइज़्ड मॉडल को प्री-ट्रेंड कैसे किया जा सकता है?
हम नीचे दिए गए कोड को चलाने के लिए Google Colaboratory का उपयोग कर रहे हैं। Google Colab या कोलेबोरेटरी ब्राउज़र पर पायथन कोड चलाने में मदद करता है और इसके लिए शून्य कॉन्फ़िगरेशन और GPU (ग्राफिकल प्रोसेसिंग यूनिट्स) तक मुफ्त पहुंच की आवश्यकता होती है। कोलेबोरेटरी को जुपिटर नोटबुक के शीर्ष पर बनाया गया है।
उदाहरण
print("डेटा विज़ुअलाइज़ करना")
plt.figure(figsize=(8, 8))
plt.subplot(2, 1, 1)
plt.plot(acc, label='Training Accuracy')
plt.plot(val_acc, label='Validation Accuracy')
plt.ylim([0.8, 1])
plt.plot([initial_epochs-1,initial_epochs-1], plt.ylim(), label='Start Fine Tuning')
plt.legend(loc='lower right')
plt.title('Training and Validation Accuracy')
plt.subplot(2, 1, 2)
plt.plot(loss, label='Training Loss')
plt.plot(val_loss, label='Validation Loss')
plt.ylim([0, 1.0])
plt.plot([initial_epochs-1,initial_epochs-1], plt.ylim(), label='Start Fine Tuning')
plt.legend(loc='upper right')
plt.title('Training and Validation Loss')
plt.xlabel('epoch')
plt.show()
कोड क्रेडिट - https://www.tensorflow.org/tutorials/images/transfer_learning
आउटपुट

व्याख्या
ट्रेनिंग और वैलिडेशन सटीकता/लॉस के लर्निंग कर्व विज़ुअलाइज़ किए जाते हैं।
यह फाइन-ट्यूनिंग किए जाने के बाद किया जाता है।
वैलिडेशन लॉस ट्रेनिंग लॉस से अधिक है, जिसका अर्थ है कि कुछ ओवरफिटिंग होगी।
यह ओवरफिटिंग इस तथ्य के कारण भी हो सकती है कि ट्रेनिंग डेटासेट अपेक्षाकृत छोटा है और मूल MobileNet V2 डेटासेट के समान है।
फाइन-ट्यूनिंग के बाद, मॉडल वैलिडेशन सेट पर 98% सटीकता तक पहुंच जाता है।