MCPcopy Index your code
hub / github.com/modelscope/modelscope / load_checkpoint

Function load_checkpoint

modelscope/utils/checkpoint.py:118–156  ·  view source on GitHub ↗
(filename,
                    model,
                    optimizer: Optimizer = None,
                    lr_scheduler: _LRScheduler = None)

Source from the content-addressed store, hash-verified

116
117
118def load_checkpoint(filename,
119 model,
120 optimizer: Optimizer = None,
121 lr_scheduler: _LRScheduler = None):
122 if not os.path.exists(filename):
123 raise ValueError(f'Checkpoint file {filename} does not exist!')
124 checkpoint = torch.load(filename, map_location='cpu', weights_only=True)
125
126 if optimizer is not None:
127 if 'optimizer' in checkpoint:
128 if isinstance(optimizer, Optimizer):
129 optimizer.load_state_dict(checkpoint['optimizer'])
130 elif isinstance(optimizer, dict):
131 optimizer_dict = checkpoint['optimizer']
132 for key, optimizer_ins in optimizer.items():
133 if key in optimizer_dict:
134 optimizer_ins.load_state_dict(optimizer_dict[key])
135 else:
136 logger.warning(
137 f'The state dict of optimizer {key} cannot be found in checkpoint file: {filename}'
138 )
139 else:
140 logger.warning(
141 f'The state dict of optimizer cannot be found in checkpoint file: {filename}'
142 )
143
144 if lr_scheduler is not None:
145 if 'lr_scheduler' in checkpoint:
146 lr_scheduler.load_state_dict(checkpoint['lr_scheduler'])
147 else:
148 logger.warning(
149 f'The state dict of lr_scheduler cannot be found in checkpoint file: {filename}'
150 )
151
152 if model is not None:
153 state_dict = checkpoint if 'state_dict' not in checkpoint else checkpoint[
154 'state_dict']
155 model.load_state_dict(state_dict)
156 return checkpoint.get('meta', {})
157
158
159def load_task_model_checkpoint(model_to_load,

Callers 7

trainMethod · 0.90
evaluateMethod · 0.90
convert_to_kaldiFunction · 0.90
load_checkpointsMethod · 0.90
load_trainer_stateMethod · 0.90
load_model_stateMethod · 0.90
evaluateMethod · 0.50

Calls 5

existsMethod · 0.45
loadMethod · 0.45
load_state_dictMethod · 0.45
itemsMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…