Amazon SageMaker Endpoint তৈরি করে একটি API ডিপ্লয়মেন্ট প্রজেক্ট তৈরি করা একটি কার্যকরী উপায়, যা আপনার মেশিন লার্নিং মডেলকে একটি সহজে ব্যবহৃত HTTP API হিসেবে উপলব্ধ করে। নিচে এটি করার প্রক্রিয়া উদাহরণসহ আলোচনা করা হলো:
প্রয়োজনীয়তা
- একটি AWS অ্যাকাউন্ট।
- SageMaker ইনস্ট্যান্স এবং উপযুক্ত IAM রোল।
ধাপ ১: SageMaker Endpoint তৈরি করা
১.১. SageMaker Environment সেটআপ
প্রথমে, প্রয়োজনীয় লাইব্রেরিগুলি ইমপোর্ট করুন এবং SageMaker সেশন এবং রোল সেট করুন।
import boto3
import sagemaker
from sagemaker import get_execution_role
from sagemaker.model import Model
# SageMaker সেশন এবং IAM রোল সেট আপ
sagemaker_session = sagemaker.Session()
role = get_execution_role()
১.২. মডেল তৈরি করা
মডেল তৈরি করতে আপনার প্রশিক্ষিত মডেল পাথ এবং কোড থাকতে হবে। এখানে আমরা একটি TensorFlow মডেল ব্যবহার করছি।
# মডেল পাথ এবং অন্যান্য বৈশিষ্ট্য
model_artifact = 's3://my-bucket/my-model/model.tar.gz' # আপনার মডেল পাথ
# TensorFlow মডেল তৈরি করা
tensorflow_model = Model(
model_data=model_artifact,
role=role,
framework_version='2.3.0', # আপনার TensorFlow সংস্করণ
sagemaker_session=sagemaker_session
)
১.৩. SageMaker Endpoint তৈরি করা
# Endpoint তৈরি করা
predictor = tensorflow_model.deploy(
initial_instance_count=1,
instance_type='ml.m5.large', # আপনার প্রয়োজন অনুযায়ী ইনস্ট্যান্স প্রকার
endpoint_name='my-sagemaker-endpoint' # Endpoint নাম
)
ধাপ ২: API ডিপ্লয়মেন্ট
API তৈরি করার জন্য, আমরা AWS API Gateway ব্যবহার করব।
২.১. API Gateway তে নতুন API তৈরি করা
- AWS Management Console এ যান।
- API Gateway নির্বাচন করুন।
- Create API-এ ক্লিক করুন এবং HTTP API নির্বাচন করুন।
- Build বাটনে ক্লিক করুন।
২.২. Endpoint সেট আপ করা
Configure routes-এ যান এবং নতুন route তৈরি করুন (যেমন, /predict)।
Integration type নির্বাচন করুন AWS Service।
AWS Service নির্বাচন করুন SageMaker।
Method নির্বাচন করুন POST।
Endpoint URL দিন:
এখানে <region> আপনার সঠিক AWS অঞ্চল হবে।
bash
Copy code
https://runtime.sagemaker.<region>.amazonaws.com/endpoints/my-sagemaker-endpoint/invocations
২.৩. Method Request এবং Integration Request সেটআপ করা
- Method Request এ
application/jsonContent-Type নির্দিষ্ট করুন। - Integration Request এ
Lambda Proxy Integrationব্যবহার করতে পারেন।
২.৪. Deploy API
- Deploy API-এ ক্লিক করুন।
- নতুন stage তৈরি করুন (যেমন,
dev) এবং API ডিপ্লয় করুন।
ধাপ ৩: API ব্যবহার করে ইনফারেন্স করা
এখন আপনি HTTP POST অনুরোধের মাধ্যমে API ব্যবহার করে ইনফারেন্স করতে পারবেন।
৩.১. Python Requests লাইব্রেরি ব্যবহার করে API কল করা
import requests
import json
# API URL
api_url = 'https://<api-id>.execute-api.<region>.amazonaws.com/dev/predict'
# ইনপুট ডেটা (উদাহরণস্বরূপ)
input_data = {
'feature1': value1,
'feature2': value2,
# অন্যান্য বৈশিষ্ট্য যোগ করুন
}
# POST অনুরোধ পাঠান
response = requests.post(api_url, json=input_data)
# ফলাফল প্রিন্ট করুন
print(response.json())
উপসংহার
এখন আপনি Amazon SageMaker Endpoint তৈরি করে একটি API ডিপ্লয়মেন্ট প্রকল্প সম্পন্ন করেছেন। এই প্রক্রিয়া অনুসরণ করে, আপনি আপনার মেশিন লার্নিং মডেলকে HTTP API হিসেবে উপলব্ধ করতে পারেন, যা অন্যান্য অ্যাপ্লিকেশন এবং সেবাগুলোর সাথে ইন্টিগ্রেশন করা সহজ করে।
Read more