Source code for pipelinex.extras.ops.ignite.handlers.time_limit

import logging
import time

log = logging.getLogger(__name__)

__all__ = ["TimeLimit"]


[docs]class TimeLimit:
[docs] def __init__(self, limit_sec=3600): """Time limit for training. Args: limit_sec (int, optional): Time limit in seconds. Defaults to 3600. """ self.limit_sec = limit_sec self.start_time = time.time()
def __call__(self, engine): elapsed_time = time.time() - self.start_time if elapsed_time > self.limit_sec: log.warning( "Reached the time limit: {} sec. Stop training".format(self.limit_sec) ) engine.terminate()