How to Deploy Machine Learning Models in Production
๐ Step-by-Step: How to Deploy an ML Model in Production
1. Train and Save Your Model
Use a tool like scikit-learn, TensorFlow, or PyTorch to train your model.
Save the model using formats like:
.pkl (pickle) for scikit-learn
.h5 for Keras
.pt or .pth for PyTorch
joblib for larger models
python
Copy
Edit
import joblib
joblib.dump(model, "model.pkl")
2. Create an API for the Model
An API (Application Programming Interface) lets other apps or users send data to your model and receive results.
You can create an API using:
Flask (simple and popular in Python)
FastAPI (modern, faster alternative)
Django (for larger applications)
Example with Flask:
python
Copy
Edit
from flask import Flask, request, jsonify
import joblib
app = Flask(__name__)
model = joblib.load("model.pkl")
@app.route('/predict', methods=['POST'])
def predict():
data = request.get_json()
prediction = model.predict([data['input']])
return jsonify({'prediction': prediction.tolist()})
if __name__ == '__main__':
app.run()
3. Test the API Locally
Use tools like:
Postman
A browser or command line (curl)
Python's requests library
Example:
python
Copy
Edit
import requests
response = requests.post("http://localhost:5000/predict", json={"input": [5.1, 3.5, 1.4, 0.2]})
print(response.json())
4. Containerize with Docker (Optional but Recommended)
Docker packages your app and model so it runs the same everywhere.
Example Dockerfile:
Dockerfile
Copy
Edit
FROM python:3.9
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
CMD ["python", "app.py"]
Then run:
bash
Copy
Edit
docker build -t ml-model .
docker run -p 5000:5000 ml-model
5. Deploy to a Server or Cloud Platform
Popular options:
Heroku – simple for small projects
AWS (EC2, SageMaker) – powerful and scalable
Google Cloud (AI Platform) – managed ML services
Azure ML – Microsoft’s ML deployment service
Render, Vercel, or Fly.io – modern deployment platforms
6. Monitor the Model
Once live, monitor:
Performance (speed, uptime)
Accuracy (drift over time)
Logs (errors, usage patterns)
Tools: Prometheus, Grafana, MLflow, or cloud monitoring tools.
7. Version Control and Updates
Track model versions and API changes.
Use tools like MLflow, DVC, or Git to manage versions.
๐ง Summary
Step What You Do
1 Train and save the model
2 Build an API to use the model
3 Test the API locally
4 (Optional) Use Docker for portability
5 Deploy to the cloud or a server
6 Monitor the model in production
7 Version and update the model as needed
Learn Data Science Course in Hyderabad
Read More
AI Ethics: Addressing Bias and Fairness in Models
The Future of Deep Learning: What’s Next?
Hyperparameter Tuning: How to Optimize ML Models
Reinforcement Learning: How AI Learns Through Rewards
Visit Our Quality Thought Training Institute in Hyderabad
Comments
Post a Comment