From 0b1db1c4ca50bee0a46a29fda7e7bd4c4b1ecc05 Mon Sep 17 00:00:00 2001 From: MengAiDev <3463526515@qq.com> Date: Fri, 29 Aug 2025 11:05:42 +0800 Subject: [PATCH 1/3] refactor(trainer): add warning for ignored eval_steps - Add a warning message when eval_steps is set but eval_strategy is not 'steps' --- unsloth/trainer.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/unsloth/trainer.py b/unsloth/trainer.py index 6a42fe4a2..d06bc33bc 100644 --- a/unsloth/trainer.py +++ b/unsloth/trainer.py @@ -71,6 +71,17 @@ class UnslothTrainingArguments(TrainingArguments): def __init__(self, embedding_learning_rate: float = None, *args, **kwargs): embedding_learning_rate = embedding_learning_rate super().__init__(*args, **kwargs) + + # Warn if eval_steps is set but eval_strategy is not "steps" + if (hasattr(self, 'eval_steps') and self.eval_steps is not None and + hasattr(self, 'eval_strategy') and self.eval_strategy != "steps"): + import warnings + warnings.warn( + "eval_steps is set but will be ignored because eval_strategy is not set to 'steps'. " + "To use eval_steps, set eval_strategy='steps'.", + UserWarning, + stacklevel=2 + ) pass From 2aad38f6771d76245741614fd0c3c120c0fea2c9 Mon Sep 17 00:00:00 2001 From: MQY <3463526515@qq.com> Date: Sun, 31 Aug 2025 13:09:51 +0800 Subject: [PATCH 2/3] Update unsloth/trainer.py Co-authored-by: Daniel Han --- unsloth/trainer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unsloth/trainer.py b/unsloth/trainer.py index d06bc33bc..1684a2096 100644 --- a/unsloth/trainer.py +++ b/unsloth/trainer.py @@ -74,7 +74,7 @@ def __init__(self, embedding_learning_rate: float = None, *args, **kwargs): # Warn if eval_steps is set but eval_strategy is not "steps" if (hasattr(self, 'eval_steps') and self.eval_steps is not None and - hasattr(self, 'eval_strategy') and self.eval_strategy != "steps"): + getattr(self, 'eval_strategy', None) != "steps"): import warnings warnings.warn( "eval_steps is set but will be ignored because eval_strategy is not set to 'steps'. " From 8305fb8a8cfd9568f7f255f8534ec8cc6e69ec48 Mon Sep 17 00:00:00 2001 From: MQY <3463526515@qq.com> Date: Sun, 31 Aug 2025 13:10:03 +0800 Subject: [PATCH 3/3] Update unsloth/trainer.py Co-authored-by: Daniel Han --- unsloth/trainer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unsloth/trainer.py b/unsloth/trainer.py index 1684a2096..ac7b7feee 100644 --- a/unsloth/trainer.py +++ b/unsloth/trainer.py @@ -73,7 +73,7 @@ def __init__(self, embedding_learning_rate: float = None, *args, **kwargs): super().__init__(*args, **kwargs) # Warn if eval_steps is set but eval_strategy is not "steps" - if (hasattr(self, 'eval_steps') and self.eval_steps is not None and + if (getattr(self, 'eval_steps', None) is not None and getattr(self, 'eval_strategy', None) != "steps"): import warnings warnings.warn(