Flask/Django এর সাথে H2O মডেল ইন্টিগ্রেশন

মডেল ডেপ্লয়মেন্ট এবং API Integration - এইচ২ও (H2O) - Machine Learning

353

Flask বা Django এর মাধ্যমে একটি ওয়েব অ্যাপ্লিকেশন তৈরি করে H2O মডেল ইন্টিগ্রেট করা যেতে পারে, যাতে ব্যবহারকারীরা ওয়েব ইন্টারফেসের মাধ্যমে মডেল থেকে পূর্বাভাস (prediction) পেতে পারেন। H2O.ai এর মডেলগুলো Python লাইব্রেরি হিসাবে উপলব্ধ, যা Flask এবং Django এর মতো ওয়েব ফ্রেমওয়ার্কের সঙ্গে সহজেই ইন্টিগ্রেট করা যায়।

এখানে Flask এবং Django এর মাধ্যমে H2O মডেল ইন্টিগ্রেট করার দুটি পদ্ধতি দেওয়া হলো।


১. Flask এর সাথে H2O মডেল ইন্টিগ্রেশন

১.১. Flask ইনস্টলেশন

প্রথমে Flask এবং H2O প্যাকেজ ইনস্টল করতে হবে:

pip install Flask h2o

১.২. H2O মডেল ট্রেনিং এবং সেভ করা

একটি H2O মডেল তৈরি করে সেভ করুন:

import h2o
from h2o.estimators import H2ORandomForestEstimator

# H2O সার্ভার চালু করা
h2o.init()

# ডেটা লোড করা
data = h2o.import_file("path/to/your/data.csv")

# ট্রেনিং এবং টেস্ট ডেটা বিভক্ত করা
train, test = data.split_frame(ratios=[.8])

# মডেল তৈরি করা
model = H2ORandomForestEstimator(ntrees=50, max_depth=20)
model.train(x=["column1", "column2", "column3"], y="target_column", training_frame=train)

# মডেল সেভ করা
model_path = h2o.save_model(model, path="model", force=True)

১.৩. Flask অ্যাপ্লিকেশন তৈরি করা

এখন Flask অ্যাপ্লিকেশন তৈরি করুন যেখানে H2O মডেলটি ব্যবহার করা হবে। এখানে একটি রাউট তৈরি করা হচ্ছে যা POST রিকোয়েস্টের মাধ্যমে ডেটা নিবে এবং মডেলের পূর্বাভাস প্রদান করবে।

from flask import Flask, request, jsonify
import h2o
from h2o.estimators import H2ORandomForestEstimator

app = Flask(__name__)

# H2O সার্ভার চালু করা
h2o.init()

# মডেল লোড করা
model = h2o.load_model("model/your_model")

@app.route("/predict", methods=["POST"])
def predict():
    # JSON থেকে ইনপুট ডেটা নিন
    data = request.get_json()
    
    # ইনপুট ডেটা হ2ও ফরম্যাটে পরিবর্তন
    input_data = h2o.H2OFrame(data)
    
    # মডেলের মাধ্যমে পূর্বাভাস করা
    predictions = model.predict(input_data)
    
    # ফলাফল JSON আউটপুট হিসেবে ফিরিয়ে দেওয়া
    return jsonify(predictions.as_data_frame().to_dict(orient="records")[0])

if __name__ == "__main__":
    app.run(debug=True)

১.৪. Flask অ্যাপ চালানো

python app.py

এটি ওয়েব সার্ভার শুরু করবে, এবং আপনি POST রিকোয়েস্ট পাঠিয়ে পূর্বাভাস পেতে পারবেন। উদাহরণস্বরূপ, curl ব্যবহার করে বা Postman দিয়ে POST রিকোয়েস্ট পাঠাতে পারবেন।


২. Django এর সাথে H2O মডেল ইন্টিগ্রেশন

২.১. Django ইনস্টলেশন

প্রথমে Django এবং H2O প্যাকেজ ইনস্টল করুন:

pip install Django h2o

২.২. Django অ্যাপ্লিকেশন তৈরি করা

এটি একটি সাধারণ Django অ্যাপ্লিকেশন, যেখানে POST রিকোয়েস্টের মাধ্যমে ইনপুট ডেটা গ্রহণ করে H2O মডেল থেকে পূর্বাভাস দেওয়া হবে।

  1. Django অ্যাপ্লিকেশন তৈরি করুন:

    django-admin startproject h2o_predictor
    cd h2o_predictor
    python manage.py startapp predictor
    
  2. H2O মডেল লোড এবং রাউট তৈরি করা:

    Django অ্যাপ্লিকেশনে views.py ফাইলে নিচের কোডটি লিখুন:

    from django.http import JsonResponse
    from django.views.decorators.csrf import csrf_exempt
    import h2o
    from h2o.estimators import H2ORandomForestEstimator
    import json
    
    # H2O সার্ভার চালু করা
    h2o.init()
    
    # মডেল লোড করা
    model = h2o.load_model("model/your_model")
    
    @csrf_exempt
    def predict(request):
        if request.method == 'POST':
            # JSON থেকে ইনপুট ডেটা নিন
            data = json.loads(request.body)
            
            # ইনপুট ডেটা H2O ফরম্যাটে পরিবর্তন
            input_data = h2o.H2OFrame(data)
            
            # মডেলের মাধ্যমে পূর্বাভাস করা
            predictions = model.predict(input_data)
            
            # ফলাফল JSON আউটপুট হিসেবে ফিরিয়ে দেওয়া
            return JsonResponse(predictions.as_data_frame().to_dict(orient="records")[0])
    
  3. URL রাউট তৈরি করা:

    urls.py ফাইলে রাউট যোগ করুন:

    from django.urls import path
    from . import views
    
    urlpatterns = [
        path('predict/', views.predict, name='predict'),
    ]
    
  4. Django সার্ভার চালানো:

    python manage.py runserver
    

২.৩. Django অ্যাপে পূর্বাভাসের জন্য রিকোয়েস্ট পাঠানো

আপনি এখন POST রিকোয়েস্ট পাঠিয়ে পূর্বাভাস পেতে পারবেন:

curl -X POST -H "Content-Type: application/json" -d '{"column1": 5.1, "column2": 3.5, "column3": 1.4}' http://127.0.0.1:8000/predict/

সারাংশ

  • Flask এবং Django উভয়ই H2O মডেল ইন্টিগ্রেট করতে সক্ষম, যেখানে H2O মডেলটি Python লাইব্রেরি হিসেবে ব্যবহৃত হয় এবং ওয়েব ফ্রেমওয়ার্কের মাধ্যমে ডেটা পাস করা হয়।
  • Flask সহজ এবং দ্রুত ইনস্টল ও সেটআপ করা যায়, এবং সাধারণত ছোট প্রকল্পের জন্য ব্যবহৃত হয়।
  • Django আরও বড় এবং স্কেলযোগ্য অ্যাপ্লিকেশন তৈরি করার জন্য উপযুক্ত, যেখানে অনেকগুলো রাউট এবং ফিচার থাকতে পারে।
  • এইভাবে আপনি আপনার H2O মডেলকে ওয়েব অ্যাপ্লিকেশনের মাধ্যমে ব্যবহারকারীদের কাছে অ্যাক্সেসযোগ্য করতে পারেন।
Content added By
Promotion

Are you sure to start over?

Loading...