Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

Tensorflow और Python का उपयोग करके ओवरफिटिंग को कम करने के लिए संवर्द्धन का उपयोग कैसे किया जा सकता है?

अतिरिक्त प्रशिक्षण डेटा जोड़कर ओवरफिटिंग को कम करने के लिए ऑगमेंटेशन का उपयोग किया जा सकता है। यह एक अनुक्रमिक मॉडल बनाकर किया जाता है जो 'रैंडमफ्लिप' परत का उपयोग करता है।

और पढ़ें: TensorFlow क्या है और Keras कैसे तंत्रिका नेटवर्क बनाने के लिए TensorFlow के साथ काम करता है?

हम केरस अनुक्रमिक एपीआई का उपयोग करेंगे, जो एक अनुक्रमिक मॉडल बनाने में सहायक है जिसका उपयोग परतों के एक सादे ढेर के साथ काम करने के लिए किया जाता है, जहां हर परत में ठीक एक इनपुट टेंसर और एक आउटपुट टेंसर होता है।

एक तंत्रिका नेटवर्क जिसमें कम से कम एक परत होती है, एक दृढ़ परत के रूप में जानी जाती है। हम लर्निंग मॉडल बनाने के लिए कन्वेन्शनल न्यूरल नेटवर्क का उपयोग कर सकते हैं।

एक इमेज क्लासिफायरियर एक keras.Sequential मॉडल का उपयोग करके बनाया गया है, और डेटा प्रीप्रोसेसिंग.image_dataset_from_directory का उपयोग करके लोड किया जाता है। डेटा कुशलता से डिस्क से लोड होता है। ओवरफिटिंग की पहचान की जाती है और इसे कम करने के लिए तकनीकों को लागू किया जाता है। इन तकनीकों में डेटा वृद्धि, और ड्रॉपआउट शामिल हैं। 3700 फूलों के चित्र हैं। इस डेटासेट में 5 उप निर्देशिकाएं हैं, और प्रति वर्ग एक उप निर्देशिका है। वे हैं:

डेज़ी, सिंहपर्णी, गुलाब, सूरजमुखी, और ट्यूलिप।

हम नीचे दिए गए कोड को चलाने के लिए Google सहयोग का उपयोग कर रहे हैं। Google Colab या Colaboratory ब्राउज़र पर पायथन कोड चलाने में मदद करता है और इसके लिए शून्य कॉन्फ़िगरेशन और GPU (ग्राफ़िकल प्रोसेसिंग यूनिट) तक मुफ्त पहुंच की आवश्यकता होती है। जुपिटर नोटबुक के ऊपर कोलैबोरेटरी बनाई गई है।

जब प्रशिक्षण उदाहरणों की संख्या कम होती है, तो मॉडल शोर या प्रशिक्षण उदाहरणों से अवांछित विवरण सीखता है। यह नए उदाहरणों पर मॉडल के प्रदर्शन को नकारात्मक रूप से प्रभावित करता है।

ओवरफिटिंग के कारण, मॉडल नए डेटासेट पर अच्छी तरह से सामान्यीकरण नहीं कर पाएगा। ऐसे कई तरीके हैं जिनसे ओवरफिटिंग से बचा जा सकता है। हम ओवरफिटिंग पर काबू पाने के लिए डेटा वृद्धि का उपयोग करेंगे। डेटा संवर्द्धन मौजूदा उदाहरणों से अतिरिक्त प्रशिक्षण डेटा उत्पन्न करता है, जिससे उन्हें यादृच्छिक परिवर्तनों की मदद से बढ़ाया जाता है जो विश्वसनीय दिखने वाली छवियां उत्पन्न करते हैं।

यह मॉडल को डेटा के अधिक पहलुओं को उजागर करने में मदद करता है, जिससे मॉडल को बेहतर ढंग से सामान्य बनाने में मदद मिलती है। निम्नलिखित एक उदाहरण है:

उदाहरण

print("Using data augmentation to eliminate overfitting")
data_augmentation = keras.Sequential(
   [
      layers.experimental.preprocessing.RandomFlip("horizontal",input_shape=(img_height,
      img_width,3)),
      layers.experimental.preprocessing.RandomRotation(0.1),
      layers.experimental.preprocessing.RandomZoom(0.1),
   ]
)

कोड क्रेडिट -https://www.tensorflow.org/tutorials/images/classification

आउटपुट

Using data augmentation to eliminate overfitting

स्पष्टीकरण

  • डेटा वृद्धि को tf.keras.layers.experimental.preprocessing से परतों का उपयोग करके कार्यान्वित किया जा सकता है।

  • ये परतें अन्य परतों की तरह मॉडल के अंदर शामिल होती हैं, और GPU पर चलती हैं।

  • यह ओवरफिटिंग को खत्म करने या कम करने के लिए किया जाता है।


  1. पायथन का उपयोग करके डेटा की कल्पना करने के लिए Tensorflow का उपयोग कैसे किया जा सकता है?

    मान लें कि हमारे पास फूल डेटासेट है। फूल डेटासेट को Google API का उपयोग करके डाउनलोड किया जा सकता है जो मूल रूप से फूल डेटासेट से लिंक होता है। एपीआई को पैरामीटर के रूप में पास करने के लिए get_file विधि का उपयोग किया जा सकता है। एक बार ऐसा करने के बाद, डेटा पर्यावरण में डाउनलोड हो जाता है। इसे मैटप

  1. TensorFlow पायथन का उपयोग करके एक रैखिक मॉडल को प्रशिक्षित करने के लिए कैसे उपयोग किया जा सकता है?

    Tensorflow एक मशीन लर्निंग फ्रेमवर्क है जो Google द्वारा प्रदान किया जाता है। यह एक ओपन-सोर्स फ्रेमवर्क है जिसका उपयोग एल्गोरिदम, गहन शिक्षण अनुप्रयोगों और बहुत कुछ को लागू करने के लिए पायथन के साथ संयोजन में किया जाता है। इसका उपयोग अनुसंधान और उत्पादन उद्देश्यों के लिए किया जाता है। कोड की निम्न

  1. पायथन का उपयोग करके मॉडल को प्लॉट करने के लिए केरस का उपयोग कैसे किया जा सकता है?

    Tensorflow एक मशीन लर्निंग फ्रेमवर्क है जो Google द्वारा प्रदान किया जाता है। यह एक ओपन-सोर्स फ्रेमवर्क है जिसका उपयोग पायथन के संयोजन में एल्गोरिदम, गहन शिक्षण अनुप्रयोगों और बहुत कुछ को लागू करने के लिए किया जाता है। इसका उपयोग अनुसंधान और उत्पादन उद्देश्यों के लिए किया जाता है। इसमें अनुकूलन तकनी