Installation
DeepSea-AI currently supports:
- Training YOLOv5 object detection models
- Processing video with YOLOv5 detection and tracking pipelines using either:
- DeepSort tracking
- StrongSort tracking
- Scaling processing with AWS Elastic Container Service
The cost to process a video is typically less than $1.25 per 15-minute video.
The cost to run the training algorithm depends on your data size and the number of GPUs you use.
A large collection with 30K images and 300K localizations may cost $300-$600 to process.
There are three main requirements to use this module:
- An account with AWS Amazon Web Services.
- An account with Docker.
- Install and update using pip in a Python>=3.8.0 environment:
After you have setup your AWS account, configure it using the awscli tool
pip install awscli
aws configure
aws --version
Then install directly from pypi
pip install deepsea-ai
Setting up the AWS environment is done with the setup mirror command. This only needs to be done once, or when you upgrade the module and need the latest docker images. This command will setup the appropriate AWS permissions and mirror the images used in the commands from Docker Hub to your ECR Elastic Container Registry.
Be patient - this takes a while, but only needs to be run once.
deepsea-ai setup --mirror
Tutorials¶
- FathomNet ✨ Recommended first step to learn more about how to train a YOLOv5 object detection model using freely available FathomNet data
Create the Anaconda environment¶
The fastest way to get started is to use the Anaconda environment. This will create a conda environment called deepsea-ai and make that available in your local jupyter notebook as the kernel named deepsea-ai
conda env create
conda activate deepsea-ai
pip install ipykernel
python -m ipykernel install --user --name=deepsea-ai
Launch jupyter¶
cd docs/notebooks
jupyter notebook
Commands¶
deepsea-ai setup --help
- Setup the AWS environment. Must run this once before any other commands.deepsea-ai train --help
- Train a YOLOv5 model and save the model to a bucketdeepsea-ai process --help
- Process one or more videos and save the results to a bucketdeepsea-ai ecsprocess --help
- Process one or more videos using the Elastic Container Service and save the results to a bucketdeepsea-ai ecsshutdown --help
- Shutdown videos procesing in the Elastic Container Servicedeepsea-ai split --help
- Split your training data. This is required before the train command.deepsea-ai monitor --help
- Monitor processing. Use this after the ecsprocess train command.deepsea-ai -h
- Print help message and exit.
Source code is available at github.com/mbari-org/deepsea-ai.
For more details, see the official documentation.¶
Updated: 2024-08-14