Machine Learning মডেল Export করা (Pickle, Joblib) গাইড ও নোট

264

মডেল Export করা বা serialization হল মডেলটিকে ডিস্কে সংরক্ষণ করার একটি প্রক্রিয়া, যাতে এটি পরবর্তীতে পুনরায় ব্যবহার করা যায়। Python-এ, মডেল সংরক্ষণ এবং লোড করার জন্য সাধারণত Pickle এবং Joblib দুটি জনপ্রিয় লাইব্রেরি ব্যবহার করা হয়।

Pickle

Pickle হল Python-এর একটি স্ট্যান্ডার্ড লাইব্রেরি যা Python অবজেক্টগুলি (যেমন মডেল) ফাইল হিসেবে সংরক্ষণ এবং পুনরুদ্ধার করতে ব্যবহৃত হয়। এটি Python অবজেক্টকে বাইনারি ফর্ম্যাটে সিরিয়ালাইজ এবং ডেসিরিয়ালাইজ করে।

Joblib

Joblib হল Pickle-এর একটি বিকল্প লাইব্রেরি, যা বড় ডেটা এবং মডেল সংরক্ষণের জন্য বেশি কার্যকর। এটি NumPy অ্যারে বা বড় মডেল ফাইলগুলোকে দ্রুত সংরক্ষণ এবং লোড করতে বিশেষভাবে উন্নত করা হয়েছে।


১. Pickle ব্যবহার করে মডেল Export এবং Import

Pickle ব্যবহার করে মডেল সংরক্ষণ এবং পুনরুদ্ধার করতে নিম্নলিখিত কোড উদাহরণটি দেখতে পারেন:

মডেল Export (Pickle)

import pickle
from sklearn.ensemble import RandomForestClassifier

# মডেল তৈরি
model = RandomForestClassifier()
model.fit([[1, 2], [3, 4]], [0, 1])

# মডেল সংরক্ষণ
with open('model.pkl', 'wb') as file:
    pickle.dump(model, file)

মডেল Import (Pickle)

import pickle

# মডেল লোড
with open('model.pkl', 'rb') as file:
    loaded_model = pickle.load(file)

# মডেল ব্যবহার
print(loaded_model.predict([[1, 2]]))  # মডেল ব্যবহার করে প্রেডিকশন
  • Pickle ব্যবহার করার সময়, আপনি মডেলকে .pkl ফাইল ফরম্যাটে সংরক্ষণ করতে পারেন।
  • মডেলকে binary mode ('wb' বা 'rb') দিয়ে সংরক্ষণ এবং লোড করতে হবে।

২. Joblib ব্যবহার করে মডেল Export এবং Import

Joblib একটি দ্রুত বিকল্প এবং বড় মডেল ফাইল সংরক্ষণের জন্য আরও কার্যকরী। এটি scikit-learn মডেলগুলির জন্য বিশেষভাবে উপযুক্ত, যেগুলির মধ্যে বড় NumPy অ্যারে বা বড় সংখ্যা থাকে।

মডেল Export (Joblib)

import joblib
from sklearn.ensemble import RandomForestClassifier

# মডেল তৈরি
model = RandomForestClassifier()
model.fit([[1, 2], [3, 4]], [0, 1])

# মডেল সংরক্ষণ
joblib.dump(model, 'model.joblib')

মডেল Import (Joblib)

import joblib

# মডেল লোড
loaded_model = joblib.load('model.joblib')

# মডেল ব্যবহার
print(loaded_model.predict([[1, 2]]))  # মডেল ব্যবহার করে প্রেডিকশন
  • Joblib সাধারণত বড় মডেল এবং অ্যারে ফাইলগুলির জন্য দ্রুত এবং কার্যকরী।
  • এটি joblib.dump() ব্যবহার করে মডেল সংরক্ষণ এবং joblib.load() ব্যবহার করে মডেল লোড করতে সাহায্য করে।

Pickle vs Joblib

বৈশিষ্ট্যPickleJoblib
ব্যবহারPython অবজেক্টের জন্য সাধারণ লাইব্রেরিবড় NumPy অ্যারে এবং scikit-learn মডেলগুলি সংরক্ষণের জন্য উপযুক্ত
প্রসেসিং গতিসাধারণত ধীর। বড় ডেটার জন্য অপর্যাপ্ত হতে পারেবড় ডেটা ফাইল দ্রুত সিরিয়ালাইজ এবং ডেসিরিয়ালাইজ করে
স্টোরেজছোট এবং মাঝারি ডেটার জন্য ভালোবড় ডেটা এবং মডেল ফাইল সংরক্ষণের জন্য উপযুক্ত
কমপ্লেক্সিটিসাধারণত সিম্পল এবং ব্যবহারযোগ্যবিশেষভাবে বড় মডেল সংরক্ষণে কার্যকরী

সারাংশ

Pickle এবং Joblib হল Python-এ ডেটা সিরিয়ালাইজেশন এবং ডেসিরিয়ালাইজেশন করার জন্য দুটি জনপ্রিয় পদ্ধতি। Pickle সাধারণত ছোট মডেল এবং অবজেক্ট সংরক্ষণের জন্য ব্যবহৃত হয়, যেখানে Joblib বড় মডেল এবং ডেটা অ্যারে সংরক্ষণের জন্য আরও কার্যকর। আপনার প্রয়োজনে উপযুক্ত টুল ব্যবহার করা উচিত।

Content added By
Promotion

Are you sure to start over?

Loading...