diff --git a/studio/backend/core/training/training.py b/studio/backend/core/training/training.py index cc0124ae83..b4d33d7c35 100644 --- a/studio/backend/core/training/training.py +++ b/studio/backend/core/training/training.py @@ -384,6 +384,9 @@ class TrainingBackend: self.eval_step_history.append(step) self.eval_enabled = True + elif etype == "eval_configured": + self.eval_enabled = True + elif etype == "status": self._progress.status_message = event.get("message", "") self._progress.is_training = True diff --git a/studio/backend/core/training/worker.py b/studio/backend/core/training/worker.py index 3941b27ab2..f657b1c77a 100644 --- a/studio/backend/core/training/worker.py +++ b/studio/backend/core/training/worker.py @@ -269,6 +269,14 @@ def run_training_process( if eval_steps is not None and float(eval_steps) <= 0: eval_dataset = None + # Tell the parent process that eval is configured so the frontend + # shows "Waiting for first evaluation step..." instead of "not configured" + if eval_dataset is not None: + event_queue.put({ + "type": "eval_configured", + "ts": time.time(), + }) + if dataset is None or trainer.should_stop: if trainer.should_stop: event_queue.put({"type": "complete", "output_dir": None, "ts": time.time()})