Model Deployment এবং Inference
Model Deployment হলো মডেলকে প্রযোজ্য ব্যবহারের জন্য প্রস্তুত করা, যেখানে মডেলটি ব্যবহারকারী বা অন্যান্য সিস্টেমের কাছে উপলব্ধ করা হয়। Inference হলো মডেল দ্বারা পূর্বাভাস বা সিদ্ধান্ত গ্রহণের প্রক্রিয়া। এই দুইটি প্রক্রিয়া মডেলটির কার্যকারিতা বাস্তবে পরীক্ষা করার জন্য অপরিহার্য।
নিচে Model Deployment এবং Inference-এর বিভিন্ন দিক আলোচনা করা হলো।
১. Model Deployment
Model Deployment-এর উদ্দেশ্য হল প্রশিক্ষিত মডেলটিকে বাস্তব জীবন বা উৎপাদনের পরিবেশে নিয়ে আসা। এটি বিভিন্ন ফর্ম্যাটে এবং বিভিন্ন প্ল্যাটফর্মে করা যেতে পারে।
Deployment-এর বিভিন্ন ধাপ:
মডেল সংরক্ষণ:
- প্রশিক্ষিত মডেলটি সংরক্ষণ করতে হয়, যা বিভিন্ন ফরম্যাটে হতে পারে, যেমন
.h5,.pth,.pt, বা ONNX ফরম্যাট।
প্ল্যাটফর্ম নির্বাচন:
- মডেলটি কোন প্ল্যাটফর্মে ডিপ্লয় করা হবে তা নির্বাচন করতে হয়। যেমন:
- Web Application (Flask, FastAPI)
- Mobile Application (TensorFlow Lite, ONNX)
- Cloud Platforms (AWS, Azure, GCP)
API তৈরি:
- সাধারণত মডেলকে REST API বা GraphQL API মাধ্যমে ব্যবহার করা হয়। Flask বা FastAPI ব্যবহার করে API তৈরি করা যায়।
ডিপ্লয়মেন্ট পরিবেশ প্রস্তুতি:
- প্রয়োজনীয় লাইব্রেরি এবং সিস্টেম সিকিউরিটি নিশ্চিত করতে হবে।
- ডিপ্লয়মেন্টের জন্য Docker বা Kubernetes ব্যবহার করা যেতে পারে।
Monitoring এবং Maintenance:
- ডিপ্লয় করার পর মডেলের কার্যকারিতা মনিটর করতে হবে এবং প্রয়োজন হলে রক্ষণাবেক্ষণ করতে হবে।
২. Inference
Inference হল মডেলটির পূর্বাভাস তৈরির প্রক্রিয়া, যেখানে নতুন ডেটা প্রবাহিত করা হয় এবং মডেলটি তা বিশ্লেষণ করে ফলাফল প্রদান করে।
Inference এর ধাপ:
ডেটা প্রিপ্রসেসিং:
- নতুন ইনপুট ডেটাকে মডেলের সাথে সামঞ্জস্যপূর্ণ ফরম্যাটে রূপান্তর করতে হয়।
মডেল লোড করা:
- প্রশিক্ষিত মডেলটি লোড করতে হয়।
পূর্বাভাস তৈরি করা:
- নতুন ইনপুট ডেটার জন্য মডেল থেকে পূর্বাভাস তৈরি করা হয়।
ফলাফল পোস্ট-প্রসেসিং:
- পূর্বাভাসের ফলাফলকে মানুষের বোঝার উপযোগী করে রূপান্তর করা।
ফলাফল প্রদান করা:
- API এর মাধ্যমে ফলাফল প্রদান করা হয়।
৩. Deployment এবং Inference এর উদাহরণ
১. Flask API Deployment
from flask import Flask, request, jsonify
import torch
app = Flask(__name__)
model = SimpleModel()
model.load_state_dict(torch.load('model.pth'))
model.eval()
@app.route('/predict', methods=['POST'])
def predict():
data = request.json
input_tensor = torch.tensor(data['input'])
with torch.no_grad():
output = model(input_tensor)
return jsonify(output.tolist())
if __name__ == '__main__':
app.run()
২. Inference প্রক্রিয়া
# Client-side code to send data to the API
import requests
data = {'input': [1.0, 2.0, 3.0, 4.0, 5.0]}
response = requests.post('http://localhost:5000/predict', json=data)
print(response.json())
সারসংক্ষেপ
- Model Deployment: প্রশিক্ষিত মডেলকে বাস্তব ব্যবহারের জন্য উপলব্ধ করা।
- Inference: মডেলের পূর্বাভাস তৈরির প্রক্রিয়া, যেখানে নতুন ডেটা ব্যবহার করা হয়।
- API Integration: Flask বা FastAPI ব্যবহার করে মডেলকে API এর মাধ্যমে ব্যবহার করা যায়।
Model Deployment এবং Inference ডিপ লার্নিং প্রকল্পের সফলতা নির্ধারণ করে এবং বাস্তব জীবনের সমস্যাগুলোর সমাধানে মডেলকে কার্যকরী করে তোলে।
Model Deployment এর প্রয়োজনীয়তা
Model Deployment হল একটি গুরুত্বপূর্ণ ধাপ যা মডেলটিকে প্রশিক্ষণের পর বাস্তব জীবনে কার্যকর করার প্রক্রিয়া। এটি বিভিন্ন কারণে অত্যাবশ্যক। নিচে Model Deployment এর বিভিন্ন প্রয়োজনীয়তা উল্লেখ করা হলো:
১. বাস্তব ব্যবহারের জন্য প্রস্তুতি
- প্রয়োগ: প্রশিক্ষিত মডেলকে বাস্তব জীবনের ডেটার উপর কার্যকর করার জন্য প্রস্তুত করা হয়। এটি মডেলটিকে ব্যবহারকারীর চাহিদা অনুযায়ী পূর্বাভাস দেওয়ার জন্য সক্ষম করে।
২. ব্যবহারকারীদের অ্যাক্সেস
- অ্যাক্সেসিবিলিটি: মডেলটি API বা অন্যান্য ইন্টারফেসের মাধ্যমে ব্যবহারকারীদের জন্য উপলব্ধ করা হয়। এটি মডেলটির ফলাফল বা পূর্বাভাস সহজেই ব্যবহার করার সুযোগ প্রদান করে।
৩. বিভিন্ন প্ল্যাটফর্মে কার্যক্রম
- বিভিন্ন প্ল্যাটফর্ম: মডেলটি বিভিন্ন পরিবেশে, যেমন ওয়েব অ্যাপ্লিকেশন, মোবাইল অ্যাপ্লিকেশন, বা IoT ডিভাইসের মাধ্যমে ব্যবহার করা যেতে পারে। এটি ব্যবহারকারীদের বিভিন্ন ধরনের ডিভাইসে কাজ করার সুবিধা দেয়।
৪. স্কেলেবিলিটি
- স্কেলেবিলিটি: মডেলটি বড় পরিমাণের ডেটা এবং ব্যবহারকারীদের চাহিদা অনুযায়ী স্কেল করা যেতে পারে। ডিপ্লয়মেন্টের মাধ্যমে একাধিক ব্যবহারকারী বা ডিভাইসে মডেলটির ব্যবহার নিশ্চিত করা হয়।
৫. বাস্তব সময়ের পূর্বাভাস
- রিয়েল-টাইম ইনফারেন্স: ডিপ্লয় করা মডেলটি রিয়েল-টাইমে ইনফারেন্স প্রদান করতে পারে। এটি ব্যবসায়িক সিদ্ধান্ত গ্রহণের জন্য দ্রুত এবং কার্যকরী তথ্য সরবরাহ করে।
৬. মডেল আপডেট এবং রক্ষণাবেক্ষণ
- রক্ষণাবেক্ষণ: ডিপ্লয় করা মডেলগুলি সময়ের সাথে সাথে আপডেট এবং মডিফাই করার সুযোগ দেয়। এটি নতুন ডেটার ভিত্তিতে মডেলটিকে পুনঃপ্রশিক্ষিত করার বা টিউন করার সুবিধা দেয়।
৭. গ্রাহক সন্তুষ্টি
- উন্নত সেবা: ডিপ্লয় করা মডেলগুলি ব্যবহারকারীদের জন্য দ্রুত এবং সঠিক সেবা প্রদান করে, যা গ্রাহক সন্তুষ্টি বাড়ায় এবং ব্যবসার সাফল্যের জন্য সহায়ক।
৮. নিরাপত্তা এবং নির্ভরযোগ্যতা
- নিরাপত্তা: ডিপ্লয় করার সময় মডেলটির নিরাপত্তা এবং নির্ভরযোগ্যতা নিশ্চিত করা হয়। এটি নিশ্চিত করে যে মডেলটি সঠিকভাবে কাজ করছে এবং সঠিক তথ্য সরবরাহ করছে।
৯. ব্যাবসায়িক মূল্য বৃদ্ধি
- মূল্য সংযোজন: সঠিকভাবে ডিপ্লয় করা মডেল ব্যবসায়িক কার্যক্রমে গুরুত্বপূর্ণ মূল্য সংযোজন করে। এটি ব্যবসায়িক দক্ষতা, ফলাফল, এবং লাভ বৃদ্ধি করতে সাহায্য করে।
সারসংক্ষেপ
Model Deployment একটি অত্যাবশ্যক প্রক্রিয়া যা মডেলটিকে বাস্তব জীবনে কার্যকর করে। এটি মডেলটির অ্যাক্সেসিবিলিটি, স্কেলেবিলিটি, রিয়েল-টাইম ইনফারেন্স, এবং গ্রাহক সন্তুষ্টি নিশ্চিত করে। সফল ডিপ্লয়মেন্ট ব্যবসায়িক কার্যক্রমে মূল্য সংযোজন করে এবং প্রতিষ্ঠানগুলিকে তাদের লক্ষ্য অর্জনে সহায়ক।
DeepSpeed ব্যবহার করে মডেল সেভ এবং লোড করার প্রক্রিয়া বেশ সহজ। DeepSpeed মডেল সেভ করার জন্য পদ্ধতি এবং মডেল লোড করার জন্য দরকারি স্টেপগুলো নিচে আলোচনা করা হলো। এটি সাধারণত PyTorch মডেল এবং DeepSpeed কনফিগারেশনের সাথে কাজ করে।
১. মডেল সেভ করা
DeepSpeed এর সাহায্যে মডেল সেভ করার জন্য আপনাকে একটি মডেল অবজেক্ট তৈরি করতে হবে এবং তার পরে save ফাংশন ব্যবহার করতে হবে। সাধারণত, মডেল প্রশিক্ষণের শেষে এটি করা হয়।
উদাহরণ: মডেল সেভ করা
import torch
import deepspeed
# মডেল এবং DeepSpeed ইনিশিয়ালাইজেশন
model = SimpleNN() # আপনার কাস্টম মডেল
deepspeed_config = {
"train_batch_size": 32,
"fp16": {
"enabled": True
},
"zero_optimization": {
"stage": 2
}
}
model_engine, optimizer, _, _ = deepspeed.initialize(
config=deepspeed_config,
model=model,
model_parameters=model.parameters()
)
# মডেল ট্রেনিং প্রক্রিয়া (শুধুমাত্র উদাহরণস্বরূপ)
# ... (মডেল ট্রেনিং কোড)
# মডেল সেভ করা
model_engine.save_checkpoint("./checkpoints")
এখানে save_checkpoint ফাংশন ব্যবহার করা হয়েছে যা একটি নির্দিষ্ট ডিরেক্টরিতে সমস্ত মডেল তথ্য সেভ করে।
২. মডেল লোড করা
DeepSpeed ব্যবহার করে মডেল লোড করার জন্য, আপনাকে load_checkpoint ফাংশন ব্যবহার করতে হবে। এটি আপনাকে পূর্বে সেভ করা মডেল চেকপয়েন্ট থেকে মডেল পুনরুদ্ধার করতে সাহায্য করে।
উদাহরণ: মডেল লোড করা
import deepspeed
# আবার মডেল এবং DeepSpeed ইনিশিয়ালাইজেশন
model = SimpleNN() # আপনার কাস্টম মডেল
model_engine, optimizer, _, _ = deepspeed.initialize(
config=deepspeed_config,
model=model,
model_parameters=model.parameters()
)
# মডেল লোড করা
model_engine.load_checkpoint("./checkpoints")
৩. কাস্টম চেকপয়েন্ট সেভিং এবং লোডিং
আপনি চাইলে আপনার মডেলের স্টেট ডিকশনারি সেভ এবং লোড করার জন্য কাস্টম মেথড তৈরি করতে পারেন:
কাস্টম মডেল সেভ
# কাস্টম সেভ ফাংশন
def save_model(model_engine, path):
model_engine.save_checkpoint(path)
save_model(model_engine, "./checkpoints/my_model")
কাস্টম মডেল লোড
# কাস্টম লোড ফাংশন
def load_model(model_engine, path):
model_engine.load_checkpoint(path)
load_model(model_engine, "./checkpoints/my_model")
৪. মডেল চেকপয়েন্ট এবং অপটিমাইজার
যখন আপনি একটি মডেল সেভ করেন, DeepSpeed চেকপয়েন্টে অপটিমাইজার এবং অন্যান্য প্রয়োজনীয় তথ্যও সেভ করে। সুতরাং, যখন আপনি মডেল লোড করেন, তখন অপটিমাইজার স্থিতি স্বয়ংক্রিয়ভাবে পুনরুদ্ধার করা হয়।
উপসংহার
DeepSpeed ব্যবহার করে মডেল সেভ এবং লোড করা অত্যন্ত সহজ এবং কার্যকর। এই প্রক্রিয়াগুলির মাধ্যমে আপনি প্রশিক্ষণের পরে মডেল পুনরায় ব্যবহার করতে পারেন এবং আপনার মডেল প্রশিক্ষণ প্রক্রিয়াকে আরও কার্যকরী করে তুলতে পারেন। এটি আপনার মডেলের পারফরম্যান্স এবং উন্নতির জন্য তথ্য সংরক্ষণ করতে সাহায্য করে, যাতে পরবর্তীতে বিশ্লেষণ করা যায়।
Inference Optimization এবং API তৈরি করা
Inference Optimization হল মডেলের পূর্বাভাস করার প্রক্রিয়া উন্নত করার কৌশল, যা দ্রুততা, কার্যকারিতা, এবং মেমোরি ব্যবস্থাপনাকে উন্নত করে। API (Application Programming Interface) তৈরি করা হল মডেলটিকে অন্যান্য অ্যাপ্লিকেশন বা সিস্টেমের সাথে সংযুক্ত করার একটি পদ্ধতি, যাতে ব্যবহারকারীরা সহজে মডেলের পূর্বাভাস নিতে পারে।
নিচে Inference Optimization এবং API তৈরি করার প্রক্রিয়া আলোচনা করা হলো।
১. Inference Optimization
Inference Optimization মডেলের কার্যকারিতা এবং দ্রুততা বাড়ানোর জন্য বিভিন্ন কৌশল ব্যবহার করে। কিছু সাধারণ কৌশল নিচে উল্লেখ করা হলো:
কৌশল ১: মডেল কম্প্রেশন
- Pruning: অপ্রয়োজনীয় নিউরাল নেটওয়ার্কের প্যারামিটার সরিয়ে ফেলতে সাহায্য করে। এটি মডেলের আকার কমায় এবং ইনফারেন্সের গতি বাড়ায়।
- Quantization: মডেলকে FP32 থেকে FP16 বা INT8 তে রূপান্তর করা হয়, যা মেমোরি ব্যবহারে সাশ্রয় করে এবং প্রসেসিং স্পিড বৃদ্ধি করে।
কৌশল ২: Batch Processing
- Batch Inference: একাধিক ইনপুট ডেটা একসাথে প্রসেস করা হয়, যা GPU বা TPU-এর সম্পূর্ণ ব্যবহার নিশ্চিত করে এবং ইনফারেন্স স্পিড বাড়ায়।
কৌশল ৩: Parallel Processing
- Distributed Inference: ইনফারেন্স প্রক্রিয়া একাধিক সার্ভার বা GPU তে বিভক্ত করা হয়। এটি বড় মডেলের ক্ষেত্রে কার্যকর এবং দ্রুত ফলাফল প্রদান করে।
কৌশল ৪: Accelerated Libraries
- ONNX Runtime: ONNX ফরম্যাটে মডেল কনভার্ট করে দ্রুত ইনফারেন্সের জন্য ব্যবহৃত হয়। ONNX Runtime প্রয়োজনীয় অপ্টিমাইজেশন সরবরাহ করে।
- TensorRT: NVIDIA-এর একটি লাইব্রেরি যা GPU তে দ্রুত ইনফারেন্সের জন্য মডেল অপ্টিমাইজ করে।
২. API তৈরি করা
API তৈরি করা হল মডেলকে উপলব্ধ করার একটি কার্যকরী পদ্ধতি, যাতে অন্যান্য অ্যাপ্লিকেশনগুলি মডেলটির ফলাফল ব্যবহার করতে পারে। এখানে Flask ব্যবহার করে একটি সিম্পল API তৈরি করার উদাহরণ দেখানো হলো।
উদাহরণ কোড
from flask import Flask, request, jsonify
import torch
import torch.nn as nn
# সিম্পল নিউরাল নেটওয়ার্ক তৈরি
class SimpleNN(nn.Module):
def __init__(self):
super(SimpleNN, self).__init__()
self.fc1 = nn.Linear(10, 50)
self.relu = nn.ReLU()
self.fc2 = nn.Linear(50, 2)
def forward(self, x):
x = self.relu(self.fc1(x))
return self.fc2(x)
# Flask অ্যাপ তৈরি
app = Flask(__name__)
# মডেল লোড করা
model = SimpleNN()
model.load_state_dict(torch.load('model.pth'))
model.eval()
@app.route('/predict', methods=['POST'])
def predict():
data = request.json
input_tensor = torch.tensor(data['input']) # ডেটা প্রক্রিয়া করা
with torch.no_grad(): # গ্রেডিয়েন্ট রেকর্ড না করার জন্য
output = model(input_tensor)
return jsonify(output.tolist()) # ফলাফল ফিরিয়ে দেওয়া
if __name__ == '__main__':
app.run()
কোডের ব্যাখ্যা
- Flask অ্যাপ তৈরি: Flask ব্যবহার করে একটি সিম্পল ওয়েব অ্যাপ তৈরি করা হয়েছে।
- মডেল লোড: প্রশিক্ষিত মডেলটি লোড করা হয়েছে।
- Predict Endpoint:
/predictএন্ডপয়েন্ট তৈরি করা হয়েছে যেখানে POST রিকোয়েস্ট দ্বারা ইনপুট ডেটা গ্রহণ করা হয় এবং মডেল দ্বারা পূর্বাভাস করা হয়। - ফলাফল ফিরিয়ে দেওয়া: মডেলের ফলাফল JSON ফরম্যাটে ফিরিয়ে দেওয়া হয়।
৩. API ব্যবহার
API এর মাধ্যমে মডেলটিকে ব্যবহার করার জন্য ক্লায়েন্ট সাইডে HTTP রিকোয়েস্ট পাঠানো হয়। উদাহরণস্বরূপ:
import requests
data = {'input': [1.0, 2.0, 3.0, 4.0, 5.0, 0.1, 0.2, 0.3, 0.4, 0.5]} # ইনপুট ডেটা
response = requests.post('http://localhost:5000/predict', json=data)
print(response.json()) # API থেকে ফলাফল প্রিন্ট করা
সারসংক্ষেপ
- Inference Optimization: মডেলটির কার্যকারিতা এবং গতিকে বাড়ানোর কৌশল।
- API তৈরি: Flask ব্যবহার করে একটি সিম্পল API তৈরি করে মডেলটিকে অন্যান্য অ্যাপ্লিকেশনগুলির জন্য উপলব্ধ করা।
- Batch Processing এবং Parallel Processing: ইনফারেন্স প্রক্রিয়াকে দ্রুত এবং কার্যকরী করার কৌশল।
Inference Optimization এবং API তৈরি একটি সফল ডিপ লার্নিং প্রক্রিয়ার জন্য অপরিহার্য, যা মডেলটিকে বাস্তবে কার্যকর করে তোলে এবং দ্রুত ফলাফল প্রদান করে।
মডেল সার্ভিং হল একটি প্রক্রিয়া যার মাধ্যমে একটি ডীপ লার্নিং বা মেশিন লার্নিং মডেলকে API এর মাধ্যমে সহজলভ্য করা হয়, যাতে ব্যবহারকারীরা HTTP অনুরোধের মাধ্যমে মডেলের সেবা গ্রহণ করতে পারেন। Python এ Flask এবং FastAPI হল দুটি জনপ্রিয় ফ্রেমওয়ার্ক, যা মডেল সার্ভিং এর জন্য ব্যবহৃত হয়। নিচে উভয় ফ্রেমওয়ার্ক ব্যবহার করে মডেল সার্ভিংয়ের উদাহরণ দেওয়া হলো।
১. Flask ব্যবহার করে মডেল সার্ভিং
Flask হল একটি মাইক্রো ওয়েব ফ্রেমওয়ার্ক যা দ্রুত এবং সহজে ওয়েব অ্যাপ্লিকেশন তৈরি করতে সাহায্য করে।
১.১: প্রয়োজনীয় লাইব্রেরি ইনস্টলেশন
pip install Flask torch torchvision
১.২: Flask সার্ভার তৈরি করা
নিচে একটি উদাহরণ দেখানো হয়েছে যেখানে একটি সিম্পল PyTorch মডেল সার্ভ করা হয়েছে।
from flask import Flask, request, jsonify
import torch
import torch.nn as nn
import numpy as np
# সিম্পল মডেল তৈরি
class SimpleModel(nn.Module):
def __init__(self):
super(SimpleModel, self).__init__()
self.fc = nn.Linear(10, 1)
def forward(self, x):
return self.fc(x)
# মডেল ইনিশিয়ালাইজেশন
model = SimpleModel()
model.eval() # মডেলকে evaluation মোডে সেট করা
# Flask অ্যাপ্লিকেশন তৈরি করা
app = Flask(__name__)
@app.route('/predict', methods=['POST'])
def predict():
# ইনপুট ডেটা গ্রহণ করা
data = request.get_json(force=True)
input_data = np.array(data['input'])
# ইনপুট ডেটা PyTorch টেনসরে রূপান্তর করা
input_tensor = torch.tensor(input_data, dtype=torch.float32)
# মডেলের পূর্বাভাস করা
with torch.no_grad():
output = model(input_tensor)
# পূর্বাভাস ফলাফল ফেরত দেওয়া
return jsonify({'output': output.numpy().tolist()})
if __name__ == '__main__':
app.run(debug=True)
১.৩: সার্ভার চালানো
python your_flask_app.py
১.৪: মডেল পূর্বাভাসের জন্য অনুরোধ পাঠানো
curl -X POST http://127.0.0.1:5000/predict -H "Content-Type: application/json" -d '{"input": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]}'
২. FastAPI ব্যবহার করে মডেল সার্ভিং
FastAPI হল একটি আধুনিক, দ্রুত (high-performance) ওয়েব ফ্রেমওয়ার্ক যা Python এ API তৈরি করতে ব্যবহৃত হয়। এটি স্বয়ংক্রিয়ভাবে OpenAPI documentation তৈরি করে।
২.১: প্রয়োজনীয় লাইব্রেরি ইনস্টলেশন
pip install fastapi uvicorn torch torchvision
২.২: FastAPI সার্ভার তৈরি করা
নিচে FastAPI ব্যবহার করে একটি সিম্পল PyTorch মডেল সার্ভ করার উদাহরণ দেওয়া হলো।
from fastapi import FastAPI
from pydantic import BaseModel
import torch
import torch.nn as nn
import numpy as np
# সিম্পল মডেল তৈরি
class SimpleModel(nn.Module):
def __init__(self):
super(SimpleModel, self).__init__()
self.fc = nn.Linear(10, 1)
def forward(self, x):
return self.fc(x)
# মডেল ইনিশিয়ালাইজেশন
model = SimpleModel()
model.eval() # মডেলকে evaluation মোডে সেট করা
# FastAPI অ্যাপ্লিকেশন তৈরি করা
app = FastAPI()
class InputData(BaseModel):
input: list
@app.post('/predict')
def predict(data: InputData):
# ইনপুট ডেটা গ্রহণ করা
input_data = np.array(data.input)
# ইনপুট ডেটা PyTorch টেনসরে রূপান্তর করা
input_tensor = torch.tensor(input_data, dtype=torch.float32)
# মডেলের পূর্বাভাস করা
with torch.no_grad():
output = model(input_tensor)
# পূর্বাভাস ফলাফল ফেরত দেওয়া
return {'output': output.numpy().tolist()}
if __name__ == '__main__':
import uvicorn
uvicorn.run(app, host='127.0.0.1', port=8000)
২.৩: সার্ভার চালানো
python your_fastapi_app.py
২.৪: মডেল পূর্বাভাসের জন্য অনুরোধ পাঠানো
curl -X POST http://127.0.0.1:8000/predict -H "Content-Type: application/json" -d '{"input": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]}'
উপসংহার
Flask এবং FastAPI উভয়ই মডেল সার্ভিংয়ের জন্য কার্যকরী ফ্রেমওয়ার্ক। Flask সহজ এবং দ্রুত সেটআপের জন্য উপযুক্ত, যেখানে FastAPI স্বয়ংক্রিয় API ডকুমেন্টেশন এবং উচ্চ কর্মক্ষমতার জন্য নির্বাচিত। আপনি আপনার প্রয়োজন অনুযায়ী যেকোনো ফ্রেমওয়ার্ক ব্যবহার করে মডেল সার্ভিং করতে পারেন।
Read more