This repository contains a YOLO workflow with:
- Inference GUI for images/videos.
- Polygon labeling GUI and YOLO-seg dataset export.
- Pseudo-label + train pipeline (
Optimizetab). - Direct training (
detectorobb) inTrainingtab. .pt -> .onnxconversion inConvertertab.
scripts/python/: GUI and Python automation scripts.scripts/bash/: shell scripts (including AMD OBB training launcher).runs/: training outputs.models/: model artifacts (ONNX, checkpoints, exports).pt/: local.ptmodels.Backup/: archived datasets/images/models.requirements.rocm.txt: ROCm stack Python requirements.requirements.nvidia.txt: NVIDIA/CUDA stack Python requirements.
python -m venv .venv-rocm --system-site-packages
source .venv-rocm/bin/activate
python -m pip install --upgrade pip
python -m pip install -r requirements.rocm.txtpython -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -r requirements.nvidia.txt.venv-rocm/bin/python scripts/python/model_viewer_gui.pyUse .venv/bin/python on NVIDIA if needed.
- Install build prerequisites in your active environment:
python -m pip install pyinstaller-
Install
appimagetoolon your system, or placeappimagetool-*.AppImageintools/. -
Build the AppImage:
./scripts/bash/build_appimage.sh .venv-rocm/bin/pythonOutput will be generated in dist/ as ModelStudio-<version>-<arch>.AppImage.
- Load model (
.pt,.onnx, etc.), image folder, or video. - Adjustable confidence threshold.
- Draw polygon annotations per class.
- Export YOLO-seg dataset with train/test/valid splits.
- Pseudo-label unlabeled images, then train.
- Platform profiles: AMD / NVIDIA / CPU.
- Uses
scripts/python/pseudo_label_and_train.py.
- Task selector:
detectorobb. - Platform selector:
AMD (ROCm)orNVIDIA (CUDA). - Runs task-aware training command and output paths (
runs/detectorruns/obb).
- Convert
.ptto.onnxwith task/imgsz/opset/runtime controls. - Output folder must already exist (converter does not create folders).
The GUI now resolves dataset paths from your current structure and falls back across common locations:
data/...Backup/Data/...
When switching training task (obb <-> detect), dataset YAML defaults are updated automatically if current value is old/invalid.
./scripts/bash/train_obb_amd.sh --device 0 --batch 8The script now auto-resolves default OBB dataset YAML from available data/ or Backup/Data/ locations.
.venv-rocm/bin/yolo detect train \
data=/absolute/path/to/data.yaml \
model=yolo11n.pt \
epochs=100 imgsz=640 batch=8 device=0 workers=8 \
project=runs/detect name=my_detect_run.venv-rocm/bin/yolo obb train \
data=/absolute/path/to/data.yaml \
model=yolo11n-obb.pt \
epochs=100 imgsz=640 batch=8 device=0 workers=8 \
project=runs/obb name=my_obb_run- ONNX inference models should be loaded with the correct task (
detect,obb, etc.). - For AMD/ROCm setups, validation/AMP settings may need conservative values depending on torchvision/ROCm compatibility.