Chainer-এ Chain ক্লাস ব্যবহার করে মডেল তৈরি
Chainer এর Chain ক্লাস ব্যবহার করে নিউরাল নেটওয়ার্ক মডেল তৈরি করা খুব সহজ। এখানে একটি মৌলিক মাল্টি-লেয়ার পার্সেপট্রন (MLP) মডেল তৈরি করার প্রক্রিয়া দেওয়া হলো, যা MNIST ডেটাসেটের উপর ভিত্তি করে কাজ করবে।
ধাপ ১: প্রয়োজনীয় লাইব্রেরি ইমপোর্ট করা
প্রথমে, আমরা Chainer এবং অন্যান্য প্রয়োজনীয় লাইব্রেরি ইমপোর্ট করবো।
import chainer
import chainer.links as L
import chainer.functions as F
import numpy as np
from chainer import datasets, optimizers, training
from chainer.training import extensions
ধাপ ২: MNIST ডেটাসেট লোড করা
এখন আমরা MNIST ডেটাসেট লোড করবো।
# MNIST ডেটাসেট ডাউনলোড এবং লোড করা
train, test = datasets.get_mnist()
ধাপ ৩: Chain ক্লাস ব্যবহার করে মডেল তৈরি করা
এখন আমরা Chain ক্লাস ব্যবহার করে একটি মৌলিক মাল্টি-লেয়ার পার্সেপট্রন (MLP) তৈরি করবো।
class MLP(chainer.Chain):
def __init__(self):
super(MLP, self).__init__()
with self.init_scope():
self.l1 = L.Linear(None, 100) # প্রথম লেয়ার (100 নিউরন)
self.l2 = L.Linear(100, 10) # দ্বিতীয় লেয়ার (10 নিউরন)
def forward(self, x):
h = F.relu(self.l1(x)) # ReLU অ্যাক্টিভেশন ফাংশন
return self.l2(h) # আউটপুট
ধাপ ৪: মডেল এবং অপটিমাইজার কনফিগারেশন
এখন আমরা আমাদের মডেল এবং অপটিমাইজার সেট আপ করবো।
# মডেল তৈরি করা
model = MLP()
# অপটিমাইজার কনফিগার করা
optimizer = optimizers.SGD(lr=0.01)
optimizer.setup(model)
ধাপ ৫: প্রশিক্ষণ প্রক্রিয়া সেটআপ
প্রশিক্ষণের জন্য ডেটা ইনপুট এবং প্রশিক্ষণের আপডেটার তৈরি করা।
# প্রশিক্ষণ ডেটা ইনপুট করার জন্য ডেটা প্রস্তুত করা
train_iter = chainer.iterators.SerialIterator(train, batch_size=64)
# আপডেটার তৈরি করা
updater = training.StandardUpdater(train_iter, optimizer)
ধাপ ৬: প্রশিক্ষণের জন্য ট্রেইনার তৈরি করা
# প্রশিক্ষণ সাইকেল তৈরি করা
trainer = training.Trainer(updater, (10, 'epoch'), out='result')
# প্রশিক্ষণ চলাকালীন ফলাফল দেখতে চাইলে
trainer.extend(extensions.LogReport())
trainer.run()
ধাপ ৭: মডেল পরীক্ষা করা
অবশেষে, আমরা টেস্ট ডেটা দিয়ে আমাদের মডেলটিকে পরীক্ষা করবো।
from chainer import Variable
# টেস্ট ডেটাসেটের উপর পরীক্ষামূলক পূর্বাভাস
test_iter = chainer.iterators.SerialIterator(test, batch_size=64, shuffle=False)
# মডেল টেস্ট করা
correct = 0
for batch in test_iter:
x, t = chainer.dataset.convert.concat_examples(batch)
x = Variable(x)
y = model(x)
correct += F.accuracy(y, t).data
print("Test accuracy: {:.2f}%".format(correct / len(test) * 100))
সারসংক্ষেপ
এই উদাহরণে, আমরা Chainer এর Chain ক্লাস ব্যবহার করে MNIST ডেটাসেটের উপর ভিত্তি করে একটি মৌলিক মাল্টি-লেয়ার পার্সেপট্রন (MLP) তৈরি করেছি। আমরা ডেটাসেট লোড করেছি, মডেল তৈরি করেছি, অপটিমাইজার কনফিগার করেছি, প্রশিক্ষণ সম্পন্ন করেছি এবং পরে মডেলটির কার্যকারিতা পরীক্ষা করেছি। Chainer এর Chain ক্লাসের মাধ্যমে মডেল তৈরি করা সহজ এবং কার্যকরী।
Read more