yolov8¶
This service will use Yolov8 to analyse the image content according to the selected model type:
- detect: object detection
- segment: object segmentation
- pose: human pose estimation
- classify: image classification
The API documentation is automatically generated by FastAPI using the OpenAPI standard. A user friendly interface provided by Swagger is available under the /docs
route, where the endpoints of the service are described.
This simple service only has one route /compute
that takes an image and the model type in text format as input, and the image will be analyzed according to the selected model type.
Environment variables¶
All environment variables are described in the .env
file.
The environment variables can be overwritten during the CI/CD pipeline described in the yolov8.yml
GitHub workflow file.
Start the service locally with Python¶
In the yolov8
directory, start the service with the following commands.
Start the application.
Access the service documentation on http://localhost:9696/docs.
Run the tests with Python¶
For each module a test file is available to check the correct behavior of the code. The tests are run using the pytest
library with code coverage check. To run the tests, use the following command inside the yolov8
folder:
Start the service locally with minikube and the Docker image hosted on GitHub¶
Start the service with the following commands. This will start the service with the official Docker images that are hosted on GitHub.
In the yolov8
directory, start the service with the following commands.
Create a tunnel to access the Kubernetes cluster from the local machine. The terminal in which the tunnel is created must stay open.
Access the yolov8
documentation on http://localhost:9696/docs.
Access the Core Engine documentation on http://localhost:8080/docs to validate the backend has been successfully registered to the Core Engine.
Start the service locally with minikube and a local Docker image¶
Note: The service StatefulSet (yolov8.stateful.yml
file) must be deleted and recreated every time a new Docker image is created.
Start the service with the following commands. This will start the service with the a local Docker image for the service.
In the yolov8
directory, build the Docker image with the following commands.
In the yolov8
directory, start the service with the following commands.
Create a tunnel to access the Kubernetes cluster from the local machine. The terminal in which the tunnel is created must stay open.
Access the yolov8
documentation on http://localhost:9696/docs.
Access the Core Engine documentation on http://localhost:8080/docs to validate the backend has been successfully registered to the Core Engine.