एक (छवि, लेबल) जोड़ी बनाने के लिए, पथ को पहले पथ घटकों की सूची में परिवर्तित किया जाता है। फिर, दूसरे से अंतिम मान को निर्देशिका में जोड़ा जाता है। फिर, लेबल को एक पूर्णांक प्रारूप में एन्कोड किया गया है। संपीड़ित स्ट्रिंग को एक टेंसर में बदल दिया जाता है, और फिर उसे आवश्यक आकार में बदल दिया जाता है।
और पढ़ें: TensorFlow क्या है और Keras कैसे तंत्रिका नेटवर्क बनाने के लिए TensorFlow के साथ काम करता है?
हम फूलों के डेटासेट का उपयोग करेंगे, जिसमें कई हजारों फूलों के चित्र होंगे। इसमें 5 उप-निर्देशिकाएँ हैं, और प्रत्येक वर्ग के लिए एक उप-निर्देशिका है।
हम नीचे दिए गए कोड को चलाने के लिए Google सहयोग का उपयोग कर रहे हैं। Google Colab या Colaboratory ब्राउज़र पर पायथन कोड चलाने में मदद करता है और इसके लिए शून्य कॉन्फ़िगरेशन और GPU (ग्राफ़िकल प्रोसेसिंग यूनिट) तक मुफ्त पहुंच की आवश्यकता होती है। जुपिटर नोटबुक के ऊपर कोलैबोरेटरी बनाई गई है।
print("Function to convert file path to (image,label) pair") print("First, path is converted to list of path components") print("Then, the second to last value is added to class directory") print("The label is integer encoded") 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("The compressed string is converted to a 3 dimensional int tensor") print("The image is resized to the required size") def decode_img(img): img = tf.image.decode_jpeg(img, channels=3) return tf.image.resize(img, [img_height, img_width]) print("The raw data is loaded from the file as a string value") 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
आउटपुट
Function to convert file path to (image,label) pair First, path is converted to list of path components Then, the second to last value is added to class directory The label is integer encoded The compressed string is converted to a 3 dimensional int tensor The image is resized to the required size The raw data is loaded from the file as a string value
स्पष्टीकरण
- एक 'get_label' फ़ंक्शन परिभाषित किया गया है, जो फ़ाइल पथ को एक (छवि, लेबल) जोड़ी में परिवर्तित करता है।
- फ़ाइल पथ को पथ घटकों की सूची में बदल दिया गया है।
- दूसरा से अंतिम मान वर्ग निर्देशिका में जोड़ा जाता है।
- अगला, लेबल एक पूर्णांक के रूप में एन्कोड किया गया है।
- 'decode_img' नामक एक अन्य फ़ंक्शन का उपयोग इमेज का आकार बदलने और उसे वापस करने के लिए किया जाता है।
- पहले संपीड़ित स्ट्रिंग को तीन आयामी पूर्णांक टेंसर में परिवर्तित किया जाता है, और फिर उसका आकार बदल दिया जाता है।
- 'process_path' नाम का एक अन्य फ़ंक्शन परिभाषित किया गया है, जो फ़ाइल से कच्चे डेटा को स्ट्रिंग मान के रूप में लोड करता है।