টেনসরফ্লো (TensorFlow) ব্যবহার করে মডেল compile, train, এবং evaluate করার প্রক্রিয়া অত্যন্ত গুরুত্বপূর্ণ এবং এটি মেশিন লার্নিং এবং ডিপ লার্নিং মডেলগুলির কার্যকারিতা নিশ্চিত করে। এখানে, আমরা Keras API ব্যবহার করে টেনসরফ্লো মডেলকে কম্পাইল, প্রশিক্ষণ (train), এবং মূল্যায়ন (evaluate) করার পদ্ধতি দেখবো।
1. মডেল Compile করা
মডেল compile করার সময়, মডেলের লস ফাংশন, অপটিমাইজার এবং মেট্রিক্স নির্ধারণ করা হয়। এটি মডেল তৈরির পর প্রথম ধাপ।
উদাহরণ:
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
# মডেল তৈরি করা
model = Sequential()
model.add(Dense(64, activation='relu', input_shape=(32,)))
model.add(Dense(10, activation='softmax'))
# মডেল কম্পাইল করা
model.compile(optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy'])
এখানে:
- optimizer: অপটিমাইজার যা মডেল প্রশিক্ষণকালে ব্যবহার করা হবে। উদাহরণস্বরূপ,
'adam'একটি জনপ্রিয় অপটিমাইজার। - loss: এটি লস ফাংশন যা মডেলটির ভুলের পরিমাণ হিসাব করে। এখানে
'categorical_crossentropy'ব্যবহার করা হয়েছে। - metrics: মেট্রিকস ব্যবহার করা হয় মডেলের কার্যকারিতা নির্ধারণ করতে, যেমন
'accuracy'।
2. মডেল Train (প্রশিক্ষণ) করা
মডেল train করার সময়, ডেটাসেটের সাহায্যে মডেলটি প্রশিক্ষিত হয় এবং এটি তার পূর্বাভাসের accuracy বাড়াতে শিখে।
উদাহরণ:
# ডেটাসেট প্রস্তুত করা
import numpy as np
X_train = np.random.random((1000, 32)) # 1000টি ডেটা, প্রতিটি 32 ডিমেনশনে
y_train = np.random.random((1000, 10)) # 1000টি টার্গেট লেবেল, প্রতিটি 10 ডিমেনশনে
# মডেল প্রশিক্ষণ করা
model.fit(X_train, y_train, epochs=10, batch_size=32)
এখানে:
- X_train: প্রশিক্ষণ ডেটা, এখানে ১০০০টি উদাহরণ এবং ৩২টি বৈশিষ্ট্য (features) রয়েছে।
- y_train: টার্গেট লেবেল, যেখানে ১০টি ক্লাস রয়েছে।
- epochs: কতবার ডেটাসেট সম্পূর্ণরূপে মডেলের মাধ্যমে চলে যাবে।
- batch_size: প্রতিটি আপডেটের জন্য কতটি উদাহরণ একসাথে ব্যবহার করা হবে।
3. মডেল Evaluate (মূল্যায়ন) করা
মডেল evaluate করার সময়, মডেলটি তার ক্ষমতা যাচাই করতে একটি আলাদা টেস্ট ডেটাসেটে পরীক্ষা করা হয়।
উদাহরণ:
# টেস্ট ডেটাসেট প্রস্তুত করা
X_test = np.random.random((100, 32)) # 100টি টেস্ট ডেটা, প্রতিটি 32 ডিমেনশনে
y_test = np.random.random((100, 10)) # 100টি টেস্ট টার্গেট লেবেল
# মডেল মূল্যায়ন করা
loss, accuracy = model.evaluate(X_test, y_test)
print("Loss:", loss)
print("Accuracy:", accuracy)
এখানে:
- X_test এবং y_test: টেস্ট ডেটাসেট, যা মডেলটি প্রশিক্ষণের পর পরীক্ষা করতে ব্যবহৃত হয়।
- loss: টেস্ট ডেটার জন্য লস ফাংশনের মান।
- accuracy: মডেলটির টেস্ট ডেটাতে সঠিক পূর্বাভাসের শতাংশ।
সারাংশ
Compile, Train, এবং Evaluate হল মডেল তৈরির তিনটি মূল পদক্ষেপ:
- Compile: মডেল তৈরি করার পর অপটিমাইজার, লস ফাংশন, এবং মেট্রিক্স নির্ধারণ করা।
- Train: মডেলটি ডেটাসেট ব্যবহার করে প্রশিক্ষিত করা।
- Evaluate: মডেলটির কার্যকারিতা টেস্ট ডেটাসেটে মূল্যায়ন করা।
এই পদক্ষেপগুলির মাধ্যমে মডেল উন্নত করা এবং তার ফলাফল যাচাই করা সম্ভব।
Read more