From d425d5d3c3ca7644a9da8ed93c3d03f4be0c4854 Mon Sep 17 00:00:00 2001 From: NanoCode012 Date: Fri, 31 Jan 2025 20:58:25 +0700 Subject: [PATCH] fix: add warning for invalid eval_steps or save_steps (#2298) --- src/axolotl/utils/config/__init__.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/axolotl/utils/config/__init__.py b/src/axolotl/utils/config/__init__.py index 7ddff6219..767bf659a 100644 --- a/src/axolotl/utils/config/__init__.py +++ b/src/axolotl/utils/config/__init__.py @@ -1,4 +1,5 @@ """Module for working with config dicts""" + import json import logging import os @@ -129,10 +130,18 @@ def normalize_config(cfg): save_steps = 1.0 / (cfg.saves_per_epoch * cfg.num_epochs) if save_steps < 1.0: # prevent saves on every step cfg.save_steps = save_steps + elif save_steps > 1: + LOG.warning( + f"Invalid value for save_steps ({save_steps}) from saves_per_epoch and/or num_epochs. Saving at training end only." + ) if (cfg.val_set_size or cfg.test_datasets) and cfg.evals_per_epoch: eval_steps = 1.0 / (cfg.evals_per_epoch * cfg.num_epochs) if eval_steps < 1.0: # prevent evals on every step cfg.eval_steps = eval_steps + elif eval_steps > 1: + LOG.warning( + f"Invalid value for eval_steps ({eval_steps}) from evals_per_epoch and/or num_epochs. Skipping evaluations." + ) cfg.dataset_processes = cfg.dataset_processes or os.cpu_count()