YOLO Studio is a desktop developer tool for training, organizing, and remotely deploying YOLO computer vision models.
This project provides:
- Local dataset management and dataset-building workflows
- Configurable YOLO training with live metrics and logs
- Discovery integrations for Roboflow Universe, Hugging Face Hub, Kaggle, and Open Images
- Remote deployment and testing against Jetson/Raspberry Pi edge devices
- Real-time camera inference with session capture
- Offline evaluation with analytics dashboards
- Cross-run analytics and experiment comparison
- Project system for organizing assets under named roots
- Create and activate a Python 3.10+ virtual environment.
- Install dependencies:
pip install -r requirements.txt- Launch the app:
python main.py+-------------------------- YOLO Studio (PyQt6) ---------------------------+
| |
| +---------------- UI Layer ----------------+ +------ Widgets -------+ |
| | train | dataset | discover | remote | | log | chart | cards | |
| | camera | evaluate | analytics | +----------------------+ |
| +------------------------------------------+ |
| | |
| v |
| +------------------ Core Layers ----------------------------+ |
| | models | services | workers | projects | |
| +----------------------------------------------------------+ |
| | |
| v |
| +------------------------- Integrations ---------------------------+ |
| | ultralytics | roboflow | huggingface_hub | websocket devices | |
| +------------------------------------------------------------------+ |
+--------------------------------------------------------------------------+
Edge Device Agent (Jetson/RPi): edge/jetson_agent.py
core/models/: SQLAlchemy entities and DB session/bootstrap logiccore/services/: dataset and remote-device service classescore/workers/: QThread background worker classesui/windows/: top-level window classesui/styles/: theme and styling modulesui/tabs/,ui/widgets/: feature tabs and reusable UI components- Compatibility shims remain at legacy module paths (
core/database.py, etc.) for safer import migration.
- Configure model architecture, dataset, and hyperparameters
- Start/stop training jobs with live metrics and logs
- Save successful runs and manage trained weights
- Browse datasets stored in SQLite
- Build datasets from local images and generate YOLO metadata
- Review and export saved models Note: Project scope filters the dataset library and saved models.
- Search and download datasets from Roboflow Universe
- Search and download models/datasets from Hugging Face Hub
- Search Kaggle datasets/competitions and download datasets
- Download Open Images subsets with class filters Note: Imported assets can be attached to the active project.
- Register edge devices
- Deploy model weights remotely
- Run remote inference tests and store result metrics
- Run real-time webcam inference with overlays
- Record frames, save snapshots, export detections CSV
- Session metadata stored in the database
- Offline evaluation for datasets or image folders
- Confusion matrix, PR curves, and confidence curves
- Export reports as PDF + JSON
- Cross-run history, loss overlays, and per-class heatmaps
- Compare runs and export dashboard ZIP
- Create/open/duplicate/delete projects
- Store project config in
project.yaml - Project selector filters all tabs
- Copy
edge/jetson_agent.pyandedge/agent_config.yamlto the device. - Install Python dependencies on the device.
- Configure
agent_config.yaml. - Start the agent and verify connectivity from YOLO Studio.
- Ensure Python version is 3.10+.
- Confirm
config.jsoncontains valid API tokens when using external services. - Verify CUDA/device drivers for GPU-enabled edge inference.
- Check application and edge agent logs for runtime errors.
- On Linux desktops without working Wayland or XCB dependencies (e.g. missing
libxcb-cursor0), YOLO Studio falls back to Qt'sminimalplatform. You can override withQT_QPA_PLATFORMif you want to force a specific backend.
The application scaffold and core feature modules are implemented, including:
- SQLAlchemy-backed metadata models and persistence helpers
- Training, dataset, discover, and remote-device GUI tabs
- QThread workers for long-running operations
- WebSocket remote manager and edge agent protocol implementation
