টেনসরফ্লো ও প্রি-ট্রেনড মডেল দিয়ে ডেটা ইভ্যালুয়েট ও প্রেডিক্ট করা যায় 'evaluate' এবং 'predict' মেথড ব্যবহার করে। ইনপুট ইমেজের ব্যাচটি প্রথম ফ্ল্যাটেন (flatten) করা হয়। মডেলে সিগময়েড (sigmoid) ফাংশন প্রয়োগ করা হয় যাতে এটি লজিট (logit) ভ্যালু রিটার্ন করে।
আরও পড়ুন: টেনসরফ্লো কী এবং কেরাস কীভাবে টেনসরফ্লোর সাথে কাজ করে নিউরাল নেটওয়ার্ক তৈরির জন্য?
কমপক্ষে একটি লেয়ার থাকা নিউরাল নেটওয়ার্ককে কনভোল্যুশনাল লেয়ার বলা হয়। আমরা কনভোল্যুশনাল নিউরাল নেটওয়ার্ক ব্যবহার করে লার্নিং মডেল বানাতে পারি।
আরও পড়ুন: কীভাবে একটি কাস্টমাইজড মডেল প্রি-ট্রেন করা যায়?
নিচের কোড চালানোর জন্য আমরা গুগল কোলাবরেটরি ব্যবহার করছি। গুগল কোল্যাব বা কোলাবরেটরি ব্রাউজারের ওপর পাইথন কোড চালাতে সাহায্য করে এবং জিরো কনফিগারেশন ও ফ্রি জিপিইউ (GPU) অ্যাক্সেস দেয়। কোলাবরেটরি জুপিটার নোটবুকের ওপর বিল্ড করা হয়েছে।
উদাহরণ
print("Evaluation and prediction")
loss, accuracy = model.evaluate(test_dataset)
print('Test accuracy is :', accuracy)
print("The batch of image from test set is retrieved")
image_batch, label_batch = test_dataset.as_numpy_iterator().next()
predictions = model.predict_on_batch(image_batch).flatten()
print("The sigmoid function is applied on the model, it returns logits")
predictions = tf.nn.sigmoid(predictions)
predictions = tf.where(predictions < 0.5, 0, 1)
print('Predictions are:\n', predictions.numpy())
print('Labels are:\n', label_batch)
কোড কردিট: https://www.tensorflow.org/tutorials/images/transfer_learning
আউটপুট
Evaluation and prediction 6/6 [==============================] - 3s 516ms/step - loss: 0.0276 - accuracy: 0.9844 Test accuracy is : 0.984375 The batch of image from test set is retrieved The sigmoid function is applied on the model, it returns logits Predictions are: [1 1 1 1 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 1 1 0 1 0 0 1 1 1 0 1 0 1] Labels are: [1 1 1 1 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 1 1 0 1 0 0 1 1 1 0 1 0 1]
ব্যাখ্যা
- মডেলটি এখন ডেটা প্রেডিক্ট ও ইভ্যালুয়েট করতে ব্যবহৃত হয়।
- ইমেজ ইনপুট হিসেবে পাস করলে প্রেডিকশন হয়।
- প্রেডিকশন হলো ইমেজটি কুকুর নাকি বিডাল তা নির্ণয় করা।