MCPcopy Create free account
hub / github.com/UX-Decoder/Semantic-SAM / __init__

Method __init__

train_net.py:62–103  ·  view source on GitHub ↗
(self, cfg)

Source from the content-addressed store, hash-verified

60 Extension of the Trainer class adapted to MaskFormer.
61 """
62 def __init__(self, cfg):
63 super(DefaultTrainer, self).__init__()
64 logger = logging.getLogger("detectron2")
65 if not logger.isEnabledFor(logging.INFO): # setup_logger is not called for d2
66 setup_logger()
67 cfg = DefaultTrainer.auto_scale_workers(cfg, comm.get_world_size())
68
69 # Assume these objects must be constructed in this order.
70 model = self.build_model(cfg)
71 optimizer = self.build_optimizer(cfg, model)
72 data_loader = self.build_train_loader(cfg)
73
74 model = create_ddp_model(model, broadcast_buffers=False)
75 self._trainer = (AMPTrainer if cfg.SOLVER.AMP.ENABLED else SimpleTrainer)(
76 model, data_loader, optimizer
77 )
78 self.scheduler = self.build_lr_scheduler(cfg, optimizer)
79
80 # add model EMA
81 kwargs = {
82 'trainer': weakref.proxy(self),
83 }
84 # kwargs.update(model_ema.may_get_ema_checkpointer(cfg, model)) TODO: release ema training for large models
85 self.checkpointer = DetectionCheckpointer(
86 # Assume you want to save checkpoints together with logs/statistics
87 model,
88 cfg['OUTPUT_DIR'],
89 **kwargs,
90 )
91 self.start_iter = 0
92 self.max_iter = cfg['SOLVER']['MAX_ITER']
93 self.cfg = cfg
94
95 self.register_hooks(self.build_hooks())
96 # TODO: release model conversion checkpointer from DINO to MaskDINO
97 self.checkpointer = DetectionCheckpointer(
98 # Assume you want to save checkpoints together with logs/statistics
99 model,
100 cfg['OUTPUT_DIR'],
101 **kwargs,
102 )
103 # TODO: release GPU cluster submit scripts based on submitit for multi-node training
104
105 def build_hooks(self):
106 """

Callers

nothing calls this directly

Calls 6

build_modelMethod · 0.95
build_optimizerMethod · 0.95
build_train_loaderMethod · 0.95
build_lr_schedulerMethod · 0.95
build_hooksMethod · 0.95
auto_scale_workersMethod · 0.80

Tested by

no test coverage detected