-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
24 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,32 @@ | ||
# MLOps for Landcoverpy | ||
|
||
This repository contains resources necessary for deploying the [landcoverpy](https://github.com/KhaosResearch/landcoverpy) model within the [developed MLOps infrastructure](https://github.com/KhaosResearch/mlops-infra/). | ||
## Overview | ||
|
||
## Structure | ||
This repository hosts the essential resources for deploying the [landcoverpy](https://github.com/KhaosResearch/landcoverpy) model within our specially developed [MLOps infrastructure](https://github.com/KhaosResearch/mlops-infra/). It is designed to work seamlessly with a Kubernetes cluster, assuming that the MLOps infrastructure is already deployed. For detailed guidance on deploying each component, refer to [our mlops-infra repository](https://github.com/KhaosResearch/mlops-infra/). | ||
|
||
## Infrastructure Components | ||
|
||
The project relies on the following infrastructure components: | ||
|
||
- **MLflow**: Manages the model registry. | ||
- **PostgreSQL**: Provides the database backend required by MLflow for metadata storage. | ||
- **Seldon Core**: Handles model deployment. | ||
- **Prefect**: Manages workflow and pipeline orchestration. | ||
- **MinIO**: Offers object storage solutions. | ||
- **Prometheus**: Enables runtime monitoring and alerting. | ||
|
||
## Repository Structure | ||
|
||
The repository is organized into four primary directories: | ||
|
||
### `training` | ||
Contains all files necessary to deploy the training pipeline using Prefect. This pipeline manages the (re)training of models with Satellite imagery and validated locations, and stores the model versions in MLflow. | ||
|
||
### `deployment` | ||
This directory holds the resources required to containerize an instance of landcoverpy using a Seldon wrapper. To deploy one or more instances of the model, configure the environment variables in `deployment/deploy_landcover.yaml` and run `kubectl apply -f deploy_landcover.py`. | ||
Includes resources for deploying trained models from MLflow. It facilitates the deployment of models to a production environment. | ||
|
||
### `prediction` | ||
Here you will find a test script for verifying the functionality of the deployed model. This script generates randomized polygons that meet specific criteria to ensure their validity and sends them to the selected model instances. | ||
Provides a test script to verify the functionality of deployed models. The script generates randomized, valid polygons and sends them to the deployed model instances for predictions. | ||
|
||
### `training` | ||
Contains all necessary files to deploy the training pipeline on the Prefect instance set up within our infrastructure. | ||
### `.github/workflows` | ||
Automatically updates Docker images in the Google Container Registry (GCR) upon new commits. |