This repository is the solution to the hiring challenge for mlops intern at Spacesense.
- It expected the image segmentation code should be served through a FastAPI server.
- Dockerize the whole FastAPI server.
The solution can executed by two ways
- Locally
- Docker
For running it locally create an anaconda environment
-
conda create -n spacesense python=3.9
-
conda activate spacesense
-
pip install -r requirements.txt
-
uvicorn server:app --host 0.0.0.0 --port 8000
-
In another terminal run
curl -L -F "file=@resources/dog.jpg" http://127.0.0.1:8000/segmentation -o "test.png"
You will get the ouput image as test.png.
For Docker
-
Install docker first in your machine.
-
Go to docker directory using
cd docker
-
Now build the docker image using
docker build -t imageseg .
-
Run the container
docker container run -d -p 8000:8000 imageseg
-
Test the server by
cd ..
and thencurl -L -F "file=@resources/dog.jpg" http://127.0.0.1:8000/segmentation -o "test.png"
-
You can even directly run the already built image
docker container run -d -p 8000:8000 pronoob007/spacesense-image-seg:latest
Obviously it should be tested the same way you built the container.