From 7857d193404e029ecd9ffd9b27626641ee606f5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Manuel=20Burgue=C3=B1o?= <37145368+AmbroxMr@users.noreply.github.com> Date: Mon, 18 Dec 2023 15:22:35 +0100 Subject: [PATCH 1/2] Update README.md --- README.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d4d372b..c12d168 100644 --- a/README.md +++ b/README.md @@ -1 +1,14 @@ -# mlops-landcoverpy \ No newline at end of file +# 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/). + +## Structure + +### `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`. + +### `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. + +### `training` +Contains all necessary files to deploy the training pipeline on the Prefect instance set up within our infrastructure. From 7c872f6610d70d43671356bb9e2c02d7d62415a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Manuel=20Burgue=C3=B1o?= <37145368+AmbroxMr@users.noreply.github.com> Date: Mon, 18 Dec 2023 15:38:32 +0100 Subject: [PATCH 2/2] Update README.md --- README.md | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index c12d168..73958fa 100644 --- a/README.md +++ b/README.md @@ -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.