|
- # Copyright (c) Alibaba, Inc. and its affiliates.
- import time
-
- from modelscope.metainfo import Hooks
- from modelscope.utils.constant import LogKeys
- from .builder import HOOKS
- from .hook import Hook
- from .priority import Priority
-
-
- @HOOKS.register_module(module_name=Hooks.IterTimerHook)
- class IterTimerHook(Hook):
- PRIORITY = Priority.LOW
-
- def before_epoch(self, trainer):
- self.start_time = time.time()
-
- def before_iter(self, trainer):
- trainer.log_buffer.update(
- {LogKeys.DATA_LOAD_TIME: time.time() - self.start_time})
-
- def after_iter(self, trainer):
- trainer.log_buffer.update(
- {LogKeys.ITER_TIME: time.time() - self.start_time})
- self.start_time = time.time()
|