Skip to content

Use Podman Compose to orchestrate the MLOps project components: Prefect server, MLflow tracking server, and the application.

License

Notifications You must be signed in to change notification settings

kingabzpro/mlops-with-podman

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MLOps Podman Project with Credit Score Classifier Dataset

This project demonstrates a simplified MLOps pipeline using Podman. It uses the Credit Score Classifier dataset to train and serve a machine learning model.

Follow the tutorial: https://www.datacamp.com/tutorial/introduction-to-podman-for-machine-learning-streamlining-ml-ops-workflows

Prerequisites

  • Podman installed on your system.
  • Make installed on your system.
  • Dataset: Place the train.csv file in the data/ directory.

Project Structure

mlops-podman-project/
│
├── data/
│   └── train.csv                 # Credit Score dataset
|   └── test.csv
│
├── model/
│   └── model.pkl                 # Trained model will be saved here
│
├── src/
│   ├── train.py                  # Training script (now orchestrated by Dagster)
│   └── app.py                    # Prediction script (API endpoint)
│
├── Dockerfile                    # Dockerfile for the application
├── Makefile                      # Makefile to build and run the Podman container
├── requirements.txt              # Python dependencies
└── README.md                     # Documentation of the project


Usage

Git Clone

git clone https://github.com/kingabzpro/mlops-with-podman
cd mlops-with-podman

Build and Run the Application

To build the Podman image and run the container, execute:

make all

Screenshot 2024-10-19 234014

To view the logs and monitor the application

make logs
INFO:     Started server process [1]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
INFO:     10.88.0.1:36886 - "POST /predict HTTP/1.1" 200 OK