কম্পিউটার

পাইথনে ফ্যাশন MNIST ডেটাসেটের ভবিষ্যদ্বাণী করতে TensorFlow কীভাবে ব্যবহার করা যেতে পারে?


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

'টেনসরফ্লো' প্যাকেজটি নীচের কোড-

লাইনটি ব্যবহার করে উইন্ডোজে ইনস্টল করা যেতে পারে
pip install tensorflow

টেনসর হল টেনসরফ্লোতে ব্যবহৃত একটি ডেটা স্ট্রাকচার। এটি একটি প্রবাহ চিত্রে প্রান্তগুলিকে সংযুক্ত করতে সহায়তা করে। এই ফ্লো ডায়াগ্রামটি 'ডেটা ফ্লো গ্রাফ' নামে পরিচিত। টেনসর বহুমাত্রিক অ্যারে বা একটি তালিকা ছাড়া কিছুই নয়৷

‘ফ্যাশন MNIST’ ডেটাসেটে বিভিন্ন ধরনের পোশাকের ছবি রয়েছে। এতে 70 হাজারেরও বেশি জামাকাপড়ের গ্রেস্কেল চিত্র রয়েছে যা 10টি বিভিন্ন বিভাগের অন্তর্গত। এই ছবিগুলি কম রেজোলিউশনের (28 x 28 পিক্সেল)।

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

ভবিষ্যদ্বাণী করার জন্য কোড স্নিপেট নিচে দেওয়া হল −

উদাহরণ

probability_model = tf.keras.Sequential([model,
                                         tf.keras.layers.Softmax()])
predictions = probability_model.predict(test_images)
print("The predictions are being made ")
print(predictions[0])

np.argmax(predictions[0])
print("The test labels are")
print(test_labels[0])
def plot_image(i, predictions_array, true_label, img):
  true_label, img = true_label[i], img[i]
  plt.grid(False)
  plt.xticks([])
  plt.yticks([])

  plt.imshow(img, cmap=plt.cm.binary)

  predicted_label = np.argmax(predictions_array)
  if predicted_label == true_label:
    color = 'blue'
  else:
    color = 'red'

  plt.xlabel("{} {:2.0f}% ({})".format(class_names[predicted_label],
     100*np.max(predictions_array),
     class_names[true_label]), color=color)

def plot_value_array(i, predictions_array, true_label):
  true_label = true_label[i]
  plt.grid(False)
  plt.xticks(range(10))
  plt.yticks([])
  thisplot = plt.bar(range(10), predictions_array, color="#777777")
  plt.ylim([0, 1])
  predicted_label = np.argmax(predictions_array)

  thisplot[predicted_label].set_color('red')
  thisplot[true_label].set_color(‘green’)

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

আউটপুট

The predictions are being made
[1.3008227e−07 9.4930819e−10 2.0181861e−09 5.4944155e−10 3.8257373e−11
1.3896286e−04 1.4776078e−08 3.1724274e−03 9.4210514e−11 9.9668854e−01]
The test labels are
9

ব্যাখ্যা

  • মডেলটি প্রশিক্ষিত হয়ে গেলে, এটি পরীক্ষা করা দরকার৷

  • ইমেজ সম্পর্কে ভবিষ্যদ্বাণী করতে নির্মিত মডেল ব্যবহার করে এটি করা যেতে পারে।

  • রৈখিক আউটপুট, লগিট এবং একটি সফটম্যাক্স স্তর এটির সাথে সংযুক্ত।

  • সফটম্যাক্স লেয়ার লগিটকে সম্ভাব্যতায় রূপান্তর করতে সাহায্য করে।

  • এটি করা হয়েছে যাতে করা ভবিষ্যদ্বাণীগুলিকে ব্যাখ্যা করা সহজ হয়৷

  • 'plot_value_array' পদ্ধতিটি সংজ্ঞায়িত করা হয়েছে যা প্রকৃত মান এবং পূর্বাভাসিত মানগুলি প্রদর্শন করে৷


  1. MNIST ডেটাসেটের জন্য ওজন সংরক্ষণ এবং লোড করতে Tensorflow কীভাবে ব্যবহার করা যেতে পারে?

  2. কিভাবে Tensorflow ফ্যাশন MNIST ডেটাসেটের সাথে ব্যবহার করা যেতে পারে যাতে প্রশিক্ষিত মডেলটি পাইথনে একটি ভিন্ন চিত্রের পূর্বাভাস দিতে ব্যবহৃত হয়?

  3. পাইথনে ফ্যাশন MNIST-এর ভবিষ্যদ্বাণী যাচাই করতে TensorFlow কীভাবে ব্যবহার করা যেতে পারে?

  4. কিভাবে TensorFlow ব্যবহার করা যেতে পারে Python এ ফ্যাশন MNIST ডেটা প্রিপ্রসেস করতে?