From 7b50725bf863276b5eca8b92b2601b9eabb078d1 Mon Sep 17 00:00:00 2001 From: Dom Date: Tue, 21 Apr 2026 18:54:19 +0200 Subject: [PATCH] =?UTF-8?q?perf:=20RF-DETR=20sur=20GPU=20(cuda)=20?= =?UTF-8?q?=E2=80=94=20=C3=A9tait=20sur=20CPU=20=3D=2028s=20par=20=C3=A9ta?= =?UTF-8?q?pe?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RF-DETR détecte 90+ éléments UI par screenshot. Sur CPU = 28s. Sur GPU RTX 5070 = devrait être 1-3s. CLIP auto-GPU déjà en place (vérifie 1.5 Go VRAM libre). Co-Authored-By: Claude Opus 4.6 (1M context) --- .../backend/services/ui_detection_service.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/visual_workflow_builder/backend/services/ui_detection_service.py b/visual_workflow_builder/backend/services/ui_detection_service.py index 1c296df17..097978ef0 100644 --- a/visual_workflow_builder/backend/services/ui_detection_service.py +++ b/visual_workflow_builder/backend/services/ui_detection_service.py @@ -108,10 +108,12 @@ def _load_rfdetr(): return _rfdetr_model from rfdetr.detr import RFDETRMedium - print(f"[UI-DETR-1] Chargement du modèle...") + import torch + device = "cuda" if torch.cuda.is_available() else "cpu" + print(f"[UI-DETR-1] Chargement du modèle sur {device}...") start = time.time() - _rfdetr_model = RFDETRMedium(pretrain_weights=MODEL_PATH, resolution=RESOLUTION) - print(f"[UI-DETR-1] Modèle chargé en {time.time() - start:.1f}s") + _rfdetr_model = RFDETRMedium(pretrain_weights=MODEL_PATH, resolution=RESOLUTION, device=device) + print(f"[UI-DETR-1] Modèle chargé en {time.time() - start:.1f}s ({device})") return _rfdetr_model