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

TensorFlow से फ्लावर डेटासेट के लिए फाइल पाथ का उपयोग करके जोड़ी कैसे बनाएं?


(इमेज, लेबल) जोड़ी बनाने के लिए, पाथ को पहले पाथ कंपोनेंट्स की सूची में परिवर्तित किया जाता है। फिर, दूसरा अंतिम मान डायरेक्टरी में जोड़ा जाता है। फिर, लेबल को इंटीजर फॉर्मेट में एन्कोड किया जाता है। कंप्रेस्ड स्ट्रिंग को टेंसर में परिवर्तित किया जाता है, और फिर आवश्यक आकार में रीशेप किया जाता है।

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

हम फ्लावर्स डेटासेट का उपयोग करेंगे, जिसमें कई हजारों फूलों की छवियां होती हैं। इसमें 5 सब-डायरेक्टरीज हैं, और प्रत्येक क्लास के लिए एक सब-डायरेक्टरी है।

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

print("फाइल पाथ को (इमेज,लेबल) जोड़ी में बदलने के लिए फंक्शन")
print("सबसे पहले, पाथ को पाथ कंपोनेंट्स की सूची में परिवर्तित किया जाता है")
print("फिर, दूसरा अंतिम मान क्लास डायरेक्टरी में जोड़ा जाता है")
print("लेबल को इंटीजर एन्कोड किया जाता है")
def get_label(file_path):
    parts = tf.strings.split(file_path, os.path.sep)
    one_hot = parts[-2] == class_names
    return tf.argmax(one_hot)
print("कंप्रेस्ड स्ट्रिंग को 3-डायमेंशनल इंट टेंसर में परिवर्तित किया जाता है")
print("इमेज को आवश्यक आकार में रीसाइज़ किया जाता है")
def decode_img(img):
    img = tf.image.decode_jpeg(img, channels=3)
    return tf.image.resize(img, [img_height, img_width])
print("रॉ डेटा को फाइल से स्ट्रिंग वैल्यू के रूप में लोड किया जाता है")
def process_path(file_path):
    label = get_label(file_path)
    img = tf.io.read_file(file_path)
    img = decode_img(img)
    return img, label

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

आउटपुट

फाइल पाथ को (इमेज,लेबल) जोड़ी में बदलने के लिए फंक्शन
सबसे पहले, पाथ को पाथ कंपोनेंट्स की सूची में परिवर्तित किया जाता है
फिर, दूसरा अंतिम मान क्लास डायरेक्टरी में जोड़ा जाता है
लेबल को इंटीजर एन्कोड किया जाता है
कंप्रेस्ड स्ट्रिंग को 3-डायमेंशनल इंट टेंसर में परिवर्तित किया जाता है
इमेज को आवश्यक आकार में रीसाइज़ किया जाता है
रॉ डेटा को फाइल से स्ट्रिंग वैल्यू के रूप में लोड किया जाता है

व्याख्या

  • एक 'get_label' फंक्शन परिभाषित किया जाता है, जो फाइल पाथ को (इमेज,लेबल) जोड़ी में बदलता है।
  • फाइल पाथ को पाथ कंपोनेंट्स की सूची में परिवर्तित किया जाता है।
  • दूसरा अंतिम मान क्लास डायरेक्टरी में जोड़ा जाता है।
  • अगला, लेबल को इंटीजर के रूप में एन्कोड किया जाता है।
  • 'decode_img' नामक एक अन्य फंक्शन का उपयोग इमेज को रीसाइज़ करने और वापस करने के लिए किया जाता है।
  • सबसे पहले कंप्रेस्ड स्ट्रिंग को तीन-आयामी इंटीजर टेंसर में परिवर्तित किया जाता है, और फिर रीसाइज़ किया जाता है।
  • 'process_path' नामक एक अन्य फंक्शन परिभाषित किया जाता है, जो फाइल से रॉ डेटा को स्ट्रिंग वैल्यू के रूप में लोड करता है।

  1. केरस Sequential API का उपयोग करके फ्लावर डेटासेट का पता लगाने के लिए TensorFlow का उपयोग कैसे किया जा सकता है? केरस Sequential API का उपयोग करके फ्लावर डेटासेट का पता लगाने के लिए TensorFlow का उपयोग कैसे किया जा सकता है?

    फूल डेटासेट को केरस Sequential API का उपयोग करके PIL पैकेज और Image.open विधि की मदद से खोजा जा सकता है। अलग-अलग सबडायरेक्टरी में अलग-अलग प्रकार की फूलों की छवियां होती हैं, जिन्हें इंडेक्स करके कंसोल पर प्रदर्शित किया जा सकता है। और पढ़ें: TensorFlow क्या है और केरस TensorFlow के साथ न्यूरल नेटवर्

  1. TensorFlow से फ्लावर डेटासेट पर मॉडल की ट्रेनिंग कैसे जारी रखें? TensorFlow से फ्लावर डेटासेट पर मॉडल की ट्रेनिंग कैसे जारी रखें?

    फ्लावर डेटासेट पर मॉडल की ट्रेनिंग जारी रखने के लिए, fit मेथड का उपयोग किया जाता है। इस मेथड को epoch की संख्या (डेटा को मॉडल बनाने के लिए कितनी बार ट्रेन किया जाता है) भी निर्दिष्ट की जाती है। कुछ नमूना छवियों को कंसोल पर भी प्रदर्शित किया जाता है। और पढ़ें: TensorFlow क्या है और Keras, TensorFlow

  1. TensorFlow और Python से फ्लावर डेटासेट को कैसे विज़ुअलाइज़ करें? TensorFlow और Python से फ्लावर डेटासेट को कैसे विज़ुअलाइज़ करें?

    फ्लावर डेटासेट को matplotlib लाइब्रेरी की मदद से विज़ुअलाइज़ किया जा सकता है। imshow मेथड का उपयोग कंसोल पर इमेज प्रदर्शित करने के लिए किया जाता है। पूरे डेटासेट पर पुनरावृति की जाती है, और केवल पहली कुछ छवियों को प्रदर्शित किया जाता है। और पढ़ें: TensorFlow क्या है और Keras, TensorFlow के साथ मिलक