From d29023f85fcfa2df41397bd1710df1f7f392c7e1 Mon Sep 17 00:00:00 2001 From: Laughing <61612323+Laughing-q@users.noreply.github.com> Date: Thu, 23 Jan 2025 20:52:59 +0800 Subject: [PATCH] Move `task=classify` with `mode=track` warning to tracker `on_predict_start` (#18837) Co-authored-by: UltralyticsAssistant --- ultralytics/cfg/__init__.py | 7 +------ ultralytics/trackers/track.py | 3 +++ 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/ultralytics/cfg/__init__.py b/ultralytics/cfg/__init__.py index a98de949..efad56d4 100644 --- a/ultralytics/cfg/__init__.py +++ b/ultralytics/cfg/__init__.py @@ -921,12 +921,7 @@ def entrypoint(debug=""): # Task task = overrides.pop("task", None) if task: - if task == "classify" and mode == "track": - raise ValueError( - f"❌ Classification doesn't support 'mode=track'. Valid modes for classification are" - f" {MODES - {'track'}}.\n{CLI_HELP_MSG}" - ) - elif task not in TASKS: + if task not in TASKS: if task == "track": LOGGER.warning( "WARNING ⚠️ invalid 'task=track', setting 'task=detect' and 'mode=track'. Valid tasks are {TASKS}.\n{CLI_HELP_MSG}." diff --git a/ultralytics/trackers/track.py b/ultralytics/trackers/track.py index e55db6d4..6e422f0d 100644 --- a/ultralytics/trackers/track.py +++ b/ultralytics/trackers/track.py @@ -31,6 +31,9 @@ def on_predict_start(predictor: object, persist: bool = False) -> None: >>> predictor = SomePredictorClass() >>> on_predict_start(predictor, persist=True) """ + if predictor.args.task == "classify": + raise ValueError("❌ Classification doesn't support 'mode=track'") + if hasattr(predictor, "trackers") and persist: return