Chainer একটি ফ্রেমওয়ার্ক যা পায়থনে মডেল তৈরির জন্য ব্যবহৃত হয়, এবং এটি ডায়নামিক নিউরাল নেটওয়ার্ক তৈরিতে সহায়ক। Chainer-এ মডেলকে সেভ এবং লোড করা বেশ সহজ। এখানে .npz ফরম্যাটে মডেল সংরক্ষণ এবং পুনরায় লোড করার উদাহরণ দেওয়া হলো।
Chainer মডেল সেভ করা
Chainer-এ মডেল সংরক্ষণ করার জন্য chainer.serializers.save_npz ফাংশন ব্যবহার করা হয়। এটি মডেলটি .npz ফরম্যাটে সংরক্ষণ করে।
import chainer
import chainer.links as L
import chainer.functions as F
# একটি সিম্পল মডেল তৈরি করা
class SimpleMLP(chainer.Chain):
def __init__(self):
super(SimpleMLP, self).__init__()
with self.init_scope():
self.l1 = L.Linear(None, 100) # ইনপুট থেকে ১০০ হিডেন ইউনিট
self.l2 = L.Linear(100, 10) # ১০০ হিডেন ইউনিট থেকে ১০ আউটপুট ইউনিট
def __call__(self, x):
h1 = F.relu(self.l1(x))
return self.l2(h1)
# মডেল ইনিশিয়ালাইজ করা
model = SimpleMLP()
# মডেল সেভ করা
chainer.serializers.save_npz("simple_mlp_model.npz", model)
এই কোডটি একটি SimpleMLP মডেল তৈরি করে এবং simple_mlp_model.npz নামে সংরক্ষণ করে।
Chainer মডেল লোড করা
Chainer-এ সংরক্ষিত .npz ফাইলটি লোড করার জন্য chainer.serializers.load_npz ফাংশন ব্যবহার করা হয়। এটি মডেল পুনরায় লোড করে এবং Training বা Prediction-এর জন্য প্রস্তুত করে।
# নতুন মডেল ইনিশিয়ালাইজ করা
loaded_model = SimpleMLP()
# মডেল লোড করা
chainer.serializers.load_npz("simple_mlp_model.npz", loaded_model)
এইভাবে, loaded_model আবার পূর্ববর্তী সংরক্ষিত ওজন ও প্যারামিটার নিয়ে লোড হয়ে যাবে, এবং এটি Prediction বা পুনরায় Training-এর জন্য প্রস্তুত।
সংক্ষেপে
- মডেল সেভ করা:
chainer.serializers.save_npz("filename.npz", model)। - মডেল লোড করা:
chainer.serializers.load_npz("filename.npz", model)।
এই পদ্ধতির মাধ্যমে Chainer মডেল সংরক্ষণ এবং পুনরায় লোড করে সহজে পুনঃব্যবহার করা যায়।
Read more