Spaces:
Sleeping
Sleeping
File size: 4,095 Bytes
a3c92df c58a845 a3c92df c58a845 a3c92df 2fd5b49 a3c92df 58d3f79 a3c92df 2fd5b49 58d3f79 818ffdd 2fd5b49 a3c92df 58d3f79 a3c92df ce38001 a3c92df 58d3f79 a3c92df 821e9d8 58d3f79 821e9d8 58d3f79 821e9d8 58d3f79 821e9d8 58d3f79 818ffdd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
---
title: Object Detection ECS
emoji: π
colorFrom: purple
colorTo: green
sdk: gradio
sdk_version: 5.5.0
app_file: app.py
pinned: false
short_description: Object detection ECS
---
# Object detection via ECS endpoints
[](https://www.python.org/downloads/)
[](https://hub.docker.com/repository/docker/cvachet/object-detection-ecs)


**Aim: AI-driven object detection task**
- Front-end: user interface via Gradio library
- Back-end: use of AWS ECS endpoints to run Machine Learning models
----
**Table of contents:**
- [Front-end user interface](#1-front-end-user-interface)
- [Environment variables](#11-environment-variables)
- [Local execution](#12-local-execution)
- [Back-end Machine Learning models](#2-back-end-machine-learning-models)
- [Information on ML models](#21-information-on-ml-models)
- [Deployment on AWS ECS](#22-information-on-aws-ecs-deployment)
- [Deployment on Hugging Face](#3-deployment-on-hugging-face)
- [Deployment on Docker Hub](#4-deployment-on-docker-hub)
----
## 1. Front-end user interface
### 1.1. Environment variables
This web app uses two environment variables, corresponding to the endpoints for the deployed machine learning models
(cf. [Section 2 - Back-end ML models](#2-back-end-ml-models))
Environment variables:
- AWS_DETR_URL: endpoint for DETR model
- AWS_YOLOS_URL: endpoint for YOLOS model
### 1.2. Local execution
Use of Gradio library for web interface
Command line:
> python3 app.py
**Note:** The Gradio app should now be accessible at http://localhost:7860
## 2. Back-end machine learning models
Machine Learning (ML) models are available on Docker Hub and have been deployed to AWS ECS (Elastic Container Service)
### 2.1. Information on ML models
**Github repos:**
- DETR API: https://github.com/clementsan/object_detection_detr_api
- YOLOS API: https://github.com/clementsan/object_detection_yolos_api
**Docker hub containers:**
- DETR API: https://hub.docker.com/r/cvachet/object-detection-detr-api
- YOLOS API: https://hub.docker.com/r/cvachet/object-detection-yolos-api
### 2.2 Information on AWS ECS deployment
ECS: Elastic Container Service
<details>
Steps after docker images are available on Docker Hub
### Step 1. Create a new ECS task definition
- Task name (e.g. ObjectDetectionDETRTask)
- Infrastructure requirement:
- Launch type: ```AWS Fargate```
- Architecture: ```Linux/X86_64```
- Task size: ```0.5 CPU, 3GB memory```
- Container:
- Container name: (e.g. ```object-detection-detr```)
- Image uri: point to Docker image URI (e.g. ```cvachet/object-detection-detr-api```)
- Port mapping: assess port number (e.g. ```port 8000, TCP protocol```)
### Step 2. Create a new ECS cluster
- Cluster name (e.g. ```ObjectDetectionCluster```)
### Step 3. Add a new service to the cluster
- Compute configuration
- Use capacity provider strategy (e.g. using Fargate or Fargate_spot)
- Deployment configuration
- Application Type: Service
- Task Family: Select task definition family from prior instance (e.g. ```ObjectDetectionDETRTask```)
- Assign a Service Name: (e.g. ```object-detection-detr-api```)
### Step 4. Update security group for new service
- Go to Cluster -> service -> task -> configuration and networking
- Click on ```Security Group```
- Adjust rules for inbound traffic (e.g. traffic only from my_ip)
</details>
### 3. Deployment on Hugging Face
This web application has been deployed on Hugging Face.
HF Space URL: https://huggingface.co/spaces/cvachet/object_detection_ecs
### 4. Deployment on Docker Hub
This web application has been deployed on Docker Hub.
URL: https://hub.docker.com/r/cvachet/object-detection-ecs
|