From 24aba5cacaf22c137882ae5d5b64f4e2c42ee23e Mon Sep 17 00:00:00 2001 From: xuyifann <159863565+xuyifann@users.noreply.github.com> Date: Tue, 2 Sep 2025 22:40:27 -0700 Subject: [PATCH] Clamping the len of dataloader to minimum of 1 (#3100) [skip ci] * Clamping the len of dataloader to minimum of 1 * linter reformat --- src/axolotl/utils/trainer.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/axolotl/utils/trainer.py b/src/axolotl/utils/trainer.py index 43f76c0cd..a0f4fd567 100644 --- a/src/axolotl/utils/trainer.py +++ b/src/axolotl/utils/trainer.py @@ -475,7 +475,9 @@ def calculate_total_num_steps(cfg, train_dataset, update=True): train_dataset.remove_columns(["length"]), batch_sampler=sampler, ) - data_loader_len = len(data_loader) * cfg.micro_batch_size // cfg.batch_size + data_loader_len = max( + 1, len(data_loader) * cfg.micro_batch_size // cfg.batch_size + ) LOG.debug(f"data_loader_len: {data_loader_len}") # FIXME: is there a bug here somewhere? the total num steps depends # on the agreed on value for sample_packing_eff_est