Save, Load and Predict – নিউরাল নেটওয়ার্ক

আমরা ইতিমধ্যে শিখেছি যে কিভাবে মডেলকে ট্রেনিং করতে হয় এবং ট্রেইন করা মডেল ব্যবহার করে কিভাবে প্রেডিক্ট করতে হয়। আমরা এটাও জানি যে মডেলকে ট্রেনিং করাতে যথেষ্ট সময় এবং রিসোর্সের দরকার হয়। বারবার প্রেডিক্টের জন্য বারবার ট্রেনিং করা অবশ্যই বুদ্ধিমানের কাজ নয়। আজকে আমরা দেখবো কিভাবে একটা মডেলকে লোকাল পিসিতে সেভ করবেন এবং পরবর্তীতে সেটা ব্যবহার করেই কিভাবে প্রেডিক্ট করবেন।

আগের পোস্ট গুলোতে ট্রেইন করানো নিয়ে বিস্তারিত লেখা আছে তাই আর রিপিট করছি না। ধরে নিচ্ছি আপনার মডেল ইতিমধ্যে ট্রেইন করানো হয়ে গেছে। এবার সেভ করবো।

model.save('cnn_model.hdf5')

এই একলাইনের কোডই যথেষ্ট। প্যারামিটারের মধ্যে আপনার পছন্দমতো নাম ব্যবহার করে সেভ করতে পারেন।

পরবর্তীতে মডেলটি লোড করার জন্য শুধুমাত্র একটি লাইব্রেরি ফাংশন দরকার হবে।

 from keras.models import load_model
 m = load_model('cnn_model.hdf5')

That’s it. আপনার মডেল রেডি। এখন আগের মতই প্রেডিক্ট করতে পারবেন। তবে এবার চলুন টেস্ট ফোল্ডার থেকে একটা ইমেজ নিয়ে টেস্ট করে দেখি। আপনি চাইলে একটা বিড়াল অথবা কুকুরের ছবিও তুলে চেক করতে পারেন। তবে খেয়াল রাখবেন বিড়াল/কুকুর ছাড়া অন্য কোন অবজেক্ট যেন না থাকে। আর আমাদের মডেল শুধুমাত্র 64×64 সাইজের ইমেজ ইনপুট হিসেবে নিতে পারে। সুতরাং আপনাকে ইমেজটি রিসাইজ করে নিতে হবে।

test_img = cv2.imread('data/test1/4.jpg')  #load image
test_img = cv2.resize(test_img,(64,64))  #resize image

আপনারা জানেন যে ইমেজটি কুকুর নাকি বিড়ালের। আমার পিসিতে আমি কুকুরের ইমেজ লোড করেছি। চলুন দেখি আমাদের মডেল কি বলে।

আমাদের মডেল বলছে ০.৯৯৯ আর আমরা বলেছিলাম যে ০.৫ এর বেশি হলে ১ যার মানে কুকুর। অতএব ঠিকঠাক প্রেডিক্ট করছে।


Leave a Reply

Your email address will not be published. Required fields are marked *