CVD is a local computer-vision workspace. It provides a React dashboard and a Python inference service. You can run detection, segmentation, pose, classification, and oriented-box models. You can also upload a YOLO data set and start a training job.
CVD listens on the local computer by default. It does not require an API key.
- Run inference on an image, video, or camera stream.
- Use an included YOLO11 Nano ONNX model.
- Load a compatible PyTorch or ONNX model.
- Select an available compute device.
- Review detections and performance data.
- Upload a YOLO-format data set.
- Start and monitor a local training job.
CVD is a local development tool. It has no user authentication. The start script binds the API to 127.0.0.1 by default.
Do not expose the API to an untrusted network. If you set CVD_HOST to a non-local address, put CVD behind an authenticated reverse proxy.
CVD limits model uploads to 100 MB. It limits data-set archives to 2 GB. It also checks ZIP paths and extracted size before extraction.
- Python 3.11 or later
- Node.js 20.19 or later
- npm
- 8 GB of free memory for basic CPU inference
- More memory for large models or training
A CUDA-capable GPU is optional. Apple Silicon acceleration is optional.
The repository includes models/yolo11n.onnx. This small model lets you run detection after setup.
The repository does not include the local Python environment, training output, data sets, or other exported models. These items are large generated files.
Ultralytics can download a selected built-in model when you load it. This action requires internet access. Review the model license before you redistribute a model.
- Clone the repository.
- Create a Python environment.
- Install the Python packages.
- Install the web packages.
cd backend
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
cd ../frontend
npm ciOn Windows PowerShell, activate the Python environment with this command:
.venv\Scripts\Activate.ps1Run the start script with the Python environment active:
python run.pyOpen http://127.0.0.1:5173 on the same computer.
The API documentation is at http://127.0.0.1:8000/docs.
Set these optional environment variables before you start CVD:
export CVD_BACKEND_PORT=8000
export CVD_FRONTEND_PORT=5173Keep CVD_HOST=127.0.0.1 unless you add access control.
Use one of these methods:
- Put a
.ptor.onnxfile inmodels/. - Start CVD.
- Select the model in the dashboard.
You can also use the upload control. Do not upload a model from an untrusted source. Model formats can contain complex serialized data.
- Prepare a YOLO-format ZIP file.
- Include a
data.yaml,dataset.yaml, ordata.ymlfile. - Use relative image paths in the YAML file.
- Upload the ZIP file in the training view.
Do not upload private images to a shared CVD instance.
Run the web checks:
cd frontend
npm run lint
npm run buildRun the Python syntax check:
python -m compileall -q backend/app run.pyRun the upload-safety tests in the configured Python environment:
cd backend
python -m unittest discover -s testsbackend/app/ FastAPI routes and computer-vision services
frontend/src/ React dashboard
models/ Local model files
datasets/ Local training data; Git ignores this directory
runs/ Local training output; Git ignores this directory
run.py Local start script
Read SECURITY.md before you report a vulnerability. Do not include a private model, data set, access token, or image in a public issue.
CVD uses the PolyForm Noncommercial License 1.0.0. It is source-available software. It is not open source under the OSI definition. Business use requires written permission from One Man Labs.
Third-party packages and models have separate terms. Read THIRD_PARTY_NOTICES.md.

