__init__.py 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. # Copyright (c) Alibaba, Inc. and its affiliates.
  2. from typing import TYPE_CHECKING
  3. from modelscope.utils.import_utils import LazyImportModule
  4. if TYPE_CHECKING:
  5. from .builder import HOOKS, build_hook
  6. from .early_stop_hook import EarlyStopHook
  7. from .compression import SparsityHook
  8. from .evaluation_hook import EvaluationHook
  9. from .hook import Hook
  10. from .iter_timer_hook import IterTimerHook
  11. from .logger import TensorboardHook, TextLoggerHook
  12. from .lr_scheduler_hook import LrSchedulerHook
  13. from .optimizer import (ApexAMPOptimizerHook, NoneOptimizerHook,
  14. OptimizerHook, TorchAMPOptimizerHook)
  15. from .priority import Priority, get_priority
  16. from .checkpoint import CheckpointHook, LoadCheckpointHook, BestCkptSaverHook
  17. from .distributed.ddp_hook import DDPHook
  18. from .distributed.deepspeed_hook import DeepspeedHook
  19. from .distributed.megatron_hook import MegatronHook
  20. from .swift.swift_hook import SwiftHook
  21. else:
  22. _import_structure = {
  23. 'builder': ['HOOKS', 'build_hook'],
  24. 'checkpoint_hook':
  25. ['BestCkptSaverHook', 'CheckpointHook', 'LoadCheckpointHook'],
  26. 'compression': ['SparsityHook'],
  27. 'evaluation_hook': ['EvaluationHook'],
  28. 'hook': ['Hook'],
  29. 'iter_timer_hook': ['IterTimerHook'],
  30. 'logger': ['TensorboardHook', 'TextLoggerHook'],
  31. 'lr_scheduler_hook': ['LrSchedulerHook', 'NoneLrSchedulerHook'],
  32. 'optimizer': [
  33. 'ApexAMPOptimizerHook', 'NoneOptimizerHook', 'OptimizerHook',
  34. 'TorchAMPOptimizerHook'
  35. ],
  36. 'checkpoint':
  37. ['CheckpointHook', 'LoadCheckpointHook', 'BestCkptSaverHook'],
  38. 'distributed.ddp_hook': ['DDPHook'],
  39. 'distributed.deepspeed_hook': ['DeepspeedHook'],
  40. 'distributed.megatron_hook': ['MegatronHook'],
  41. 'swift.swift_hook': ['SwiftHook'],
  42. 'priority': ['Priority', 'get_priority']
  43. }
  44. import sys
  45. sys.modules[__name__] = LazyImportModule(
  46. __name__,
  47. globals()['__file__'],
  48. _import_structure,
  49. module_spec=__spec__,
  50. extra_objects={},
  51. )