কম্পিউটার টিউটোরিয়াল

TensorFlow ব্যবহার করে Fashion MNIST ডেটাসেটে প্রশিক্ষিত মডেল দিয়ে ভিন্ন ইমেজ পূর্বাভাস করা

TensorFlow হল Google প্রদত্ত একটি মেশিন লার্নিং ফ্রেমওয়ার্ক। এটি একটি ওপেন-সোর্স ফ্রেমওয়ার্ক যা পাইথনের সাথে সংযোগে অ্যালগরিদম, ডিপ লার্নিং অ্যাপ্লিকেশন ইত্যাদি বাস্তবায়নে ব্যবহৃত হয়। এটি গবেষণা এবং প্রোডাকশন উদ্দেশ্যে ব্যবহৃত হয়। এতে জটিল গাণিতিক অপারেশন দ্রুত সম্পাদনের জন্য অপ্টিমাইজেশন কৌশল রয়েছে। এটি NumPy এবং মাল্টি-ডাইমেনশনাল অ্যারে ব্যবহার করার কারণে। এই মাল্টি-ডাইমেনশনাল অ্যারেগুলোকে 'টেনসর'ও বলা হয়। ফ্রেমওয়ার্কটি ডিপ নিউরাল নেটওয়ার্কের সাথে কাজ করা সাপোর্ট করে।

'tensorflow' প্যাকেজটি উইন্ডোজে নিচের কোড দিয়ে ইনস্টল করা যায়:

pip install tensorflow

টেনসর TensorFlow-এ ব্যবহৃত একটি ডেটা স্ট্রাকচার। এটি একটি ফ্লো ডায়াগ্রামে এজ সংযোগ করতে সাহায্য করে। এই ফ্লো ডায়াগ্রামকে 'Data flow graph' বলা হয়। টেনসরসমূহ আসলে মাল্টি-ডাইমেনশনাল অ্যারে বা একটি লিস্ট। এগুলো তিনটি মূল অ্যাট্রিবিউট ব্যবহার করে চিহ্নিত করা যায়:

Rank - এটি টেনসরের ডাইমেনশনালিটি সম্পর্কে বলে। এটি টেনসরের অর্ডার বা টেনসরে সংজ্ঞায়িত ডাইমেনশনের সংখ্যা হিসেবে বোঝা যায়।

Type - এটি টেনসরের উপাদানগুলির সাথে যুক্ত ডেটা টাইপ সম্পর্কে বলে। এটি এক-ডাইমেনশনাল, দুই-ডাইমেনশনাল বা n-ডাইমেনশনাল টেনসর হতে পারে।

Shape - এটি সারি এবং কলামের মিলিত সংখ্যা।

'Fashion MNIST' ডেটাসেটে বিভিন্ন ধরনের পোশাকের ছবি রয়েছে। এতে ১০টি ভিন্ন ক্যাটাগরির ৭০ হাজারেরও বেশি পোশাকের গ্রেস্কেল ছবি রয়েছে। এই ছবিগুলোর রেজোলিউশন কম (২৮ x ২৮ পিক্সেল)।

নিচের কোড চালাতে আমরা Google Colaboratory ব্যবহার করছি। Google Colab বা Colaboratory ব্রাউজারের মাধ্যমে পাইথন কোড চালাতে সাহায্য করে এবং এটি শূন্য কনফিগারেশনের সাথে ফ্রি GPU অ্যাক্সেস প্রদান করে (Graphical Processing Units)। Colaboratory Jupyter Notebook-এর উপরে তৈরি।

কোড স্নিপেট নিচে দেওয়া হল:

উদাহরণ

print("An image from the test data is taken")
img = test_images[26]
print("The dimensions of the image are ")
print(img.shape)
print("The image is added to batch where it is the only entity")
img = (np.expand_dims(img,0))
print("The dimensions of the image now ")
print(img.shape)
my_pred = probability_model.predict(img)
print("The prediction made is ")
print(my_pred)
plot_value_array(1, my_pred[0], test_labels)
_ = plt.xticks(range(10), class_names, rotation=45)
np.argmax(my_pred[0])

কোড ক্রেডিট: https://www.tensorflow.org/tutorials/keras/classification

আউটপুট

An image from the test data is taken
The dimensions of the image are (28, 28)
The image is added to batch where it is the only entity
The dimensions of the image now (1, 28, 28)
The prediction made is [[8.0459216e-07 1.7074371e-09 2.6175227e-02 1.8855806e-07 1.7909618e-01 2.1126857e-06 7.9472500e-01 7.5104166e-11 4.7921480e-07 1.6657851e-10]]
6

TensorFlow ব্যবহার করে Fashion MNIST ডেটাসেটে প্রশিক্ষিত মডেল দিয়ে ভিন্ন ইমেজ পূর্বাভাস করা

ব্যাখ্যা

  • টেস্ট ইমেজের ডাইমেনশন কনসোলে প্রদর্শিত হয়।

  • 'expand_dims' ব্যাচ বা উদাহরণের সংগ্রহে একসাথে কাজ করার জন্য অপ্টিমাইজড।

  • একক ইমেজও একটি লিস্টের অংশ হিসেবে যোগ করা হয়।

  • প্রেডিক্ট ফাংশন লিস্টের লিস্ট রিটার্ন করে, যেখানে প্রতিটি লিস্ট ব্যাচ ডেটার একটি ইমেজের সাথে মিলে যায়।

  • যে ইমেজটি আমরা চাই তার জন্য পূর্বাভাসগুলো এক্সট্রাক্ট করা হয় এবং কনসোলে প্রদর্শিত হয়।

  • এটি 'matplotlib' ব্যবহার করে বার গ্রাফ হিসেবে ভিজ্যুয়ালাইজ করা হয়।

  1. টেনসরফ্লো (TensorFlow) কীভাবে পাইথনে মডেল ট্রেন (train) করতে ব্যবহৃত হয়?

  2. টেনসরফ্লোতে ফ্লাওয়ার ডেটাসেট দিয়ে মডেল ট্রেইনিং কন্টিনিউ করা

  3. TensorFlow ব্যবহার করে MNIST ডেটাসেটের জন্য মডেল সংজ্ঞায়িত করা

  4. TensorFlow ব্যবহার করে Fashion MNIST-এ পূর্বাভাস যাচাই করা