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

TensorFlow ব্যবহার করে Fashion MNIST ডেটাসেটে পূর্বাভাস করা

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

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

pip install tensorflow

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

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

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

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

উদাহরণ

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. TensorFlow ব্যবহার করে MNIST ডেটাসেটের জন্য ওজন সংরক্ষণ ও লোড করা

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

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

  4. TensorFlow ব্যবহার করে Fashion MNIST ডেটা প্রিপ্রসেস করা