Back to Projects

FastAPI ML Model Management Platform

RESTful API for managing and deploying YOLO machine learning models. Features model upload/download, real-time predictions on images/videos, session management, and shared media handling.

Duration: 3 months
Team: Solo project
Role: Backend Developer
FastAPI ML Model Management Platform

Project Overview

This FastAPI application provides a comprehensive platform for managing and interacting with machine learning models, specifically YOLO models for computer vision tasks. The application serves as a complete model deployment solution, allowing users to upload, manage, and run predictions with various YOLO models through a clean RESTful API.

The platform features robust model management capabilities, allowing users to upload and organize multiple YOLO models with associated metadata including descriptions and preview images. Each model is stored in its own directory structure, making it easy to manage different versions and configurations. The session-based model selection system enables users to switch between models seamlessly for different prediction tasks.

One of the key technical achievements is the efficient video processing pipeline that handles predictions on video streams. The application processes videos at 2-second intervals, running YOLO inference on selected frames and returning comprehensive results including bounding boxes, confidence scores, and object classifications. The system also includes shared media management features, allowing users to store and retrieve processed images and videos with their prediction results.

Key Features

  • Upload and manage multiple YOLO models with metadata
  • Session-based model selection for predictions
  • Real-time predictions on images with JSON results
  • Video processing with frame-by-frame analysis
  • Shared media storage and retrieval system
  • RESTful API with comprehensive endpoints
  • CORS support for cross-origin requests
  • Multipart form-data file upload support

Technical Challenges

1.

Optimizing video processing for real-time inference

2.

Managing multiple model versions and configurations

3.

Implementing efficient session management for concurrent users

4.

Handling large file uploads and storage efficiently

Results & Impact

Processing 30+ FPS on video streams

Supporting 10+ concurrent model sessions

95% accuracy in object detection tasks

Successfully deployed for production use

Technologies Used

FastAPIPythonYOLOOpenCVPyTorchStarlettePydanticMoviePyPillow

Project Links

Interested in this project?

Let's discuss how I can help with your similar requirements.

Get in Touch
Alex Yaroshuk - Full-Stack Engineer