Update _utils.py

This commit is contained in:
Daniel Han 2025-03-10 00:31:49 -07:00
commit 5da887c366

View file

@ -957,9 +957,13 @@ def _unsloth_get_batch_samples(self, epoch_iterator, num_batches):
num_items_in_batch = None
# Check if model allows **kwargs
model = self.model
f = model.base_model.model.forward if hasattr(model, "base_model") else model.forward
has_kwargs = tuple(inspect.signature(f).parameters.values())[-1].kind == inspect._VAR_KEYWORD
m = self.model
while hasattr(m, "model"):
# Stop at last model entry
if not hasattr(m, "model") or not hasattr(m, "forward"): break
m = m.model
signature = inspect.signature(m.forward).parameters.values()
has_kwargs = tuple(signature)[-1].kind == inspect._VAR_KEYWORD
# Iterate to find all batches
for _ in range(num_batches):