Prevent ZeroDivisionError on trainer.evaluate if model and dataset are tiny (#24049)

Prevent ZeroDivisionError if evaluation is too quick
This commit is contained in:
Tom Aarsen 2023-06-06 17:31:05 +02:00 committed by GitHub
parent d924390d5b
commit 02fe3af275
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -350,6 +350,8 @@ def speed_metrics(split, start_time, num_samples=None, num_steps=None):
"""
runtime = time.time() - start_time
result = {f"{split}_runtime": round(runtime, 4)}
if runtime == 0:
return result
if num_samples is not None:
samples_per_second = num_samples / runtime
result[f"{split}_samples_per_second"] = round(samples_per_second, 3)