टेंसरफ्लो का उपयोग बफर्ड प्रीफेचिंग द्वारा फीचर एक्सट्रैक्टर बनाने के लिए किया जा सकता है। यह trainable=False सेट करके किया जाता है।
और पढ़ें: टेंसरफ्लो क्या है और केरस टेंसरफ्लो के साथ न्यूरल नेटवर्क बनाने में कैसे काम करता है?
एक न्यूरल नेटवर्क जिसमें कम से कम एक लेयर होती है, कन्वोल्यूशनल लेयर के रूप में जानी जाती है। हम कन्वोल्यूशनल न्यूरल नेटवर्क का उपयोग लर्निंग मॉडल बनाने के लिए कर सकते हैं।
इमेज क्लासिफिकेशन के लिए ट्रांसफर लर्निंग के पीछे अंतर्ज्ञान यह है कि यदि कोई मॉडल बड़े और सामान्य डेटासेट पर प्रशिक्षित है, तो यह मॉडल दृश्य दुनिया के लिए एक सामान्य मॉडल के रूप में प्रभावी ढंग से काम कर सकता है। इसने फीचर मैप सीखे होंगे, जिसका अर्थ है कि उपयोगकर्ता को बड़े डेटासेट पर बड़े मॉडल को प्रशिक्षित करके स्क्रैच से शुरू नहीं करना पड़ेगा।
टेंसरफ्लो हब एक रिपॉजिटरी है जिसमें प्री-ट्रेंड टेंसरफ्लो मॉडल होते हैं। टेंसरफ्लो का उपयोग लर्निंग मॉडल को फाइन-ट्यून करने के लिए किया जा सकता है।
हम समझेंगे कि tf.keras के साथ टेंसरफ्लो हब से मॉडल का उपयोग कैसे करें, टेंसरफ्लो हब से एक इमेज क्लासिफिकेशन मॉडल का उपयोग करें। एक बार यह हो जाने के बाद, कस्टमाइज़्ड इमेज क्लास के लिए मॉडल को फाइन-ट्यून करने के लिए ट्रांसफर लर्निंग किया जा सकता है। यह एक प्री-ट्रेंड क्लासिफायर मॉडल का उपयोग करके एक इमेज लेता है और भविष्यवाणी करता है कि यह क्या है। यह बिना किसी प्रशिक्षण की आवश्यकता के किया जा सकता है।
हम नीचे दिए गए कोड को चलाने के लिए Google Colaboratory का उपयोग कर रहे हैं। Google Colab या कोलेबोरेटरी ब्राउज़र पर पायथन कोड चलाने में मदद करता है और इसके लिए शून्य कॉन्फ़िगरेशन और GPU (ग्राफिकल प्रोसेसिंग यूनिट्स) तक मुफ्त पहुंच की आवश्यकता होती है। कोलेबोरेटरी को जुपिटर नोटबुक के शीर्ष पर बनाया गया है।
उदाहरण
AUTOTUNE = tf.data.AUTOTUNE
train_ds = train_ds.cache().prefetch(buffer_size=AUTOTUNE)
print("डेटा के आयाम")
for image_batch, labels_batch in train_ds:
print(image_batch.shape)
print(labels_batch.shape)
break
कोड क्रेडिट - https://www.tensorflow.org/tutorials/images/transfer_learning_with_hub
आउटपुट
डेटा के आयाम (32, 224, 224, 3) (32,)
व्याख्या
- TFHub बिना टॉप क्लासिफिकेशन लेयर के मॉडल वितरित करता है।
- इनका उपयोग ट्रांसफर लर्निंग के लिए किया जा सकता है।
- tfhub.dev से कोई भी संगत इमेज फीचर वेक्टर मॉडल उपयोग किया जा सकता है।
- trainable=False की मदद से एक फीचर एक्सट्रैक्टर बनाया जा सकता है।
- इसका उपयोग फीचर एक्सट्रैक्टर लेयर में वेरिएबल को फ्रीज करने के लिए किया जा सकता है।
- यह इसलिए किया जाता है ताकि ट्रेनिंग केवल नई क्लासिफायर लेयर को संशोधित करे।
- यह प्रत्येक इमेज के लिए 1280-लंबाई का वेक्टर लौटाएगा।