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

TensorFlow ব্যবহার করে Fashion MNIST ডেটাসেটে মডেল তৈরি করা

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

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

pip install tensorflow

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

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

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

Fashion MNIST ডেটাসেটে মডেল তৈরির কোড স্নিপেট নিচে দেওয়া হল:

উদাহরণ

model = tf.keras.Sequential([
    tf.keras.layers.Flatten(input_shape=(28, 28)),
    tf.keras.layers.Dense(128, activation='relu'),
    tf.keras.layers.Dense(10)
])
print("Sequential model is being built")
model.compile(optimizer='adam',
              loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
              metrics=['accuracy'])
print("Sequential model is being compiled")

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

আউটপুট

Sequential model is being built
Sequential model is being compiled

ব্যাখ্যা

  • মডেলের লেয়ারগুলো কনফিগার করা হয়।

  • লেয়ার, যা নিউরাল নেটওয়ার্কের বেসিক ব্লক, ইনপুট ডেটা হিসেবে দেওয়া ডেটা থেকে রিপ্রেজেন্টেশন এক্সট্র্যাক্ট করে।

  • অনেক সিম্পল লেয়ার একসাথে গ্রুপ করা হয়।

  • কিছু লেয়ারির প্যারামিটার থাকে যা ট্রেনিং ফেজে অপ্টিমাল মান পেতে টিউন করা হয়।

  • প্রথম লেয়ার 'Flatten' ইমেজগুলোকে ২D থেকে ১D অ্যারেতে রূপান্তর করে।

  • এই লেয়ারটিতে কোনো প্যারামিটার নেই যা শিখতে হবে।

  • পিক্সেলগুলো ফ্ল্যাট হলে দুটি 'Dense' লেয়ার তৈরি হয়, যেখানে প্রতিটি dense লেয়ারে ১২৮ নিউরন থাকে। শেষ লেয়ার ১০ দৈর্ঘ্যের একটি লজিটস অ্যারে রিটার্ন করে।

  • প্রতিটি নিউরন/নোডে একটি মান থাকে যা স্কোর বলে ইমেজটি কোন ক্লাসের তা নির্দেশ করে।

  • তারপর মডেলটি কম্পাইল করা হয়।

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

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

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

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