Skip to content

Commit dacf7cb

Browse files
committed
fix(deploy): prevent ultralytics from re-installing CPU onnxruntime
Root cause: ultralytics AutoUpdate detects onnx/onnxslim/onnxruntime as missing during ONNX export and auto-installs CPU onnxruntime, re-shadowing onnxruntime-rocm. Three-layer defense: - requirements_rocm.txt: pre-install onnx + onnxslim so ultralytics doesn't trigger AutoUpdate for ONNX export deps - deploy.sh: set YOLO_AUTOINSTALL=0 during export step - deploy.sh: post-export cleanup removes CPU onnxruntime if present
1 parent fd87c7f commit dacf7cb

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

skills/detection/yolo-detection-2026/deploy.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,9 @@ if [ "$BACKEND" != "cpu" ] || [ -f "$SKILL_DIR/requirements_cpu.txt" ]; then
176176
log "Pre-converting model to optimized format for $BACKEND..."
177177
emit "{\"event\": \"progress\", \"stage\": \"optimize\", \"message\": \"Converting model for $BACKEND (~30-120s)...\"}"
178178

179+
# Disable ultralytics auto-install (it would re-install CPU onnxruntime)
180+
export YOLO_AUTOINSTALL=0
181+
179182
"$VENV_DIR/bin/python" -c "
180183
import sys
181184
sys.path.insert(0, '$ENV_CONFIG_DIR')
@@ -202,6 +205,14 @@ else:
202205
fi
203206
fi
204207

208+
# ROCm: final cleanup — remove CPU onnxruntime if ultralytics re-installed it
209+
if [ "$BACKEND" = "rocm" ]; then
210+
if "$PIP" show onnxruntime 2>/dev/null | grep -q "^Name: onnxruntime$"; then
211+
log "Post-export cleanup: removing CPU onnxruntime (re-installed by ultralytics)..."
212+
"$PIP" uninstall -y onnxruntime -q 2>&1 || true
213+
fi
214+
fi
215+
205216
# ─── Step 6: Verify installation ────────────────────────────────────────────
206217

207218
log "Verifying installation..."

skills/detection/yolo-detection-2026/requirements_rocm.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ torch>=2.4.0
55
torchvision>=0.19.0
66
ultralytics>=8.3.0
77
onnxruntime-rocm>=1.18
8+
onnx>=1.12.0,<2.0.0 # pre-install: prevents ultralytics from auto-installing CPU onnxruntime
9+
onnxslim>=0.1.71 # pre-install: same reason
810
numpy>=1.24.0
911
opencv-python-headless>=4.8.0
1012
Pillow>=10.0.0

0 commit comments

Comments
 (0)