কম্পিউটার

কিভাবে Tensorflow ফুল ডেটাসেটের জন্য একটি ফাইল পাথ ব্যবহার করে একটি জোড়া তৈরি করতে ব্যবহার করা যেতে পারে?


একটি (চিত্র, লেবেল) জোড়া তৈরি করতে, পাথটি প্রথমে পাথ উপাদানগুলির তালিকায় রূপান্তরিত হয়। তারপর, দ্বিতীয় থেকে শেষ মান ডিরেক্টরিতে যোগ করা হয়। তারপর, লেবেল একটি পূর্ণসংখ্যা বিন্যাসে এনকোড করা হয়। সংকুচিত স্ট্রিংটি একটি টেনসরে রূপান্তরিত হয় এবং তারপরে প্রয়োজনীয় আকারে পুনরায় আকার দেওয়া হয়।

আরো পড়ুন: টেনসরফ্লো কী এবং নিউরাল নেটওয়ার্ক তৈরি করতে টেনসরফ্লো-এর সাথে কেরাস কীভাবে কাজ করে?

আমরা ফুলের ডেটাসেট ব্যবহার করব, যেটিতে কয়েক হাজার ফুলের ছবি রয়েছে। এটিতে 5টি সাব-ডিরেক্টরি রয়েছে এবং প্রতিটি ক্লাসের জন্য একটি সাব-ডিরেক্টরি রয়েছে।

নিচের কোডটি চালানোর জন্য আমরা Google Colaboratory ব্যবহার করছি। Google Colab বা Colaboratory ব্রাউজারে Python কোড চালাতে সাহায্য করে এবং এর জন্য শূন্য কনফিগারেশন এবং GPUs (গ্রাফিক্যাল প্রসেসিং ইউনিট) তে বিনামূল্যে অ্যাক্সেস প্রয়োজন। জুপিটার নোটবুকের উপরে কোলাবোরেটরি তৈরি করা হয়েছে।

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' নামে আরেকটি ফাংশন সংজ্ঞায়িত করা হয়েছে, যেটি ফাইল থেকে স্ট্রিং মান হিসাবে কাঁচা ডেটা লোড করে।

  1. পাইথন ব্যবহার করে ডেটা ভিজ্যুয়ালাইজ করতে টেনসরফ্লো কীভাবে ব্যবহার করা যেতে পারে?

  2. কিভাবে টেনসরফ্লো কেরাস অনুক্রমিক API ব্যবহার করে ফুলের ডেটাসেট অন্বেষণ করতে ব্যবহার করা যেতে পারে?

  3. মডেলের প্রশিক্ষণ চালিয়ে যাওয়ার জন্য কীভাবে টেনসরফ্লো ফুল ডেটাসেটের সাথে ব্যবহার করা যেতে পারে?

  4. পাইথন ব্যবহার করে ফুলের ডেটাসেটটি কল্পনা করতে টেনসরফ্লো কীভাবে ব্যবহার করা যেতে পারে?