Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Satellite Classifier Service

An end-to-end Machine Learning pipeline and REST API service for multi-label classification of Amazon rainforest satellite imagery.

This project demonstrates a complete ML lifecycle: from reproducible model training and data versioning to deploying an optimized model via a web API. It is based on the Kaggle Planet: Understanding the Amazon from Space dataset.

🛠 Tech Stack

  • Deep Learning: PyTorch, PyTorch Lightning, ResNet18
  • MLOps & Tracking: DVC (Data Version Control), ClearML, Hydra (Configuration)
  • Inference & API: FastAPI, Uvicorn, ONNX Runtime
  • Code Quality: Flake8, Black, Makefile

🏗 Project Structure

This is a monorepo containing both the research/training pipeline and the production service.

  • modeling/ — Model training pipeline, data processing, and ONNX export.
  • service/ — FastAPI application for serving predictions.
  • models/ — Shared directory for model weights and ONNX graphs (tracked via DVC).

🚀 Getting Started (Inference Service)

To run the REST API service locally and test the model:

1. Clone the repository and pull the model weights

git clone [https://github.com/guzelfey/satellite-classifier-service.git](https://github.com/guzelfey/satellite-classifier-service.git)
cd satellite-classifier-service
dvc pull  # Downloads the latest model.onnx from remote storage

2. Set up the environment

cd service
python -m venv .venv
source .venv/bin/activate
make install

3. Run the FastAPI application

make run

The service will be available at http://127.0.0.1:8000. You can test the API via the interactive Swagger documentation at http://127.0.0.1:8000/docs.


🧠 Training Pipeline (Modeling)

The modeling/ directory contains a reproducible training pipeline. We use Hydra for hyperparameter management and ClearML for experiment tracking.

👉 View Training Metrics & Loss Curves in ClearML

How to retrain the model:

cd modeling
make install
dvc pull  # Downloads the training dataset
make train # Trains the model and saves checkpoints
make convert # Exports the best checkpoint to ONNX format (CPU-optimized)

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages