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

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

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

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

pip install tensorflow

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

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

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

উদাহরণ

print("The model is fit to the data")
model.fit(train_images, train_labels, epochs=15)
print("The accuracy is being computed")
test_loss, test_acc = model.evaluate(test_images, test_labels, verbose=2)
print('\nThe test accuracy is :', test_acc)

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

আউটপুট

The model is fit to the data
Epoch 1/15 1875/1875 [==============================] - 4s 2ms/step - loss: 0.6337 - accuracy: 0.7799
Epoch 2/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.3806 - accuracy: 0.8622
Epoch 3/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.3469 - accuracy: 0.8738
Epoch 4/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.3131 - accuracy: 0.8853
Epoch 5/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.2962 - accuracy: 0.8918
Epoch 6/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.2875 - accuracy: 0.8935
Epoch 7/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.2705 - accuracy: 0.8998
Epoch 8/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.2569 - accuracy: 0.9023
Epoch 9/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.2465 - accuracy: 0.9060
Epoch 10/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.2440 - accuracy: 0.9088
Epoch 11/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.2300 - accuracy: 0.9143
Epoch 12/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.2255 - accuracy: 0.9152
Epoch 13/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.2114 - accuracy: 0.9203
Epoch 14/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.2101 - accuracy: 0.9211
Epoch 15/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.2057 - accuracy: 0.9224
The accuracy is being computed
313/313 - 0s - loss: 0.3528 - accuracy: 0.8806
The test accuracy is : 0.8805999755859375

ব্যাখ্যা

  • প্রশিক্ষণ ডেটা খাওয়িয়ে এবং একটি মডেল তৈরি করে মডেলটি ট্রেন করা হয়। 'train_images' এবং 'train_labels' ইনপুট ডেটার অ্যারে।

  • মডেলটি ইমেজকে সংশ্লিষ্ট লেবেলের সাথে ম্যাপ করা শিখে।

  • 'test_images' টেস্ট ডেটা সংরক্ষণ করে।

  • টেস্ট ডেটাসেট ব্যবহার হলে, করা পূর্বাভাসগুলো টেস্ট ডেটাসেটের ডেটার আসল লেবেলের সাথে মিলানো হয়।

  • 'model.fit' মেথড কল করা হয় যাতে মডেলটি ট্রেনিং ডেটাসেটে ফিট হতে পারে।

  • 'model.evaluate' ফাংশন ট্রেনিং-এর সাথে যুক্ত নির্ভুলতা এবং লস দেয়।

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

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

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

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