ফাইল পাথ থেকে (image, label) পেয়ার
পাথকে পাথ কম্পোনেন্ট লিস্ট-এ কনভার্ট করা হয়। তারপর से컨্ড-টু-লাস্ট ভ্যালু ক্লাস ডিরেক্টরিতে যোগ করা হয়। লেবেল ইন্টিজার-এ এনকোড হয়। কমপ্রেসড স্ট্রিং টেন্সরে কনভার্ট হয় এবং রিকোয়ার্ড সাইজে রিশেপ হয়।
আরও পড়ুন: টেনসরফ্লো কী এবং কেরাস কীভাবে টেনসরফ্লোর সাথে নিউরাল নেটওয়ার্ক তৈরি করে?
ফ্লাওয়ার ডেটাসেট (হাজার হাজার ছবি, ৫ সাব-ডিরেক্টরি) ব্যবহার করা হয়েছে। গুগল কোল্যাবরে কোড রান করা হয়েছে।
print("ফাইল পাথ থেকে (image,label) পেয়ার কনভার্ট ফাংশন")
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("কমপ্রেসড স্ট্রিং ৩-ডাইমেনশনাল ইন্ট টেন্সরে কনভার্ট")
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
আউটপুট
ফাইল পাথ থেকে (image,label) পেয়ার কনভার্ট ফাংশন
প্রথমে পাথ লিস্ট অফ পাথ কম্পোনেন্ট-এ কনভার্ট
তারপর সেকেন্ড-টু-লাস্ট ভ্যালু ক্লাস ডিরেক্টরিতে যোগ
লেবেল ইন্টিজার এনকোড
কমপ্রেসড স্ট্রিং ৩-ডাইমেনশনাল ইন্ট টেন্সরে কনভার্ট
ইমেজ রিকোয়ার্ড সাইজে রিসাইজ
রデータ ফাইল থেকে স্ট্রিং হিসেবে লোড
ব্যাখ্যা
- 'get_label' ফাংশন: ফাইল পাথ → (image,label) পেয়ার।
- ফাইল পাথ → পাথ কম্পোনেন্ট লিস্ট।
- সেকেন্ড-টু-লাস্ট ভ্যালু → ক্লাস ডিরেক্টরি।
- লেবেল → ইন্টিজার এনকোড।
- 'decode_img': কমপ্রেসড স্ট্রিং → ৩ডি ইন্ট টেন্সর → রিসাইজ।
- 'process_path': রデータ ফাইল থেকে স্ট্রিং লোড → img, label রিটার্ন।