detectron2.checkpoint¶
-
class
detectron2.checkpoint.
Checkpointer
(model: torch.nn.Module, save_dir: str = '', *, save_to_disk: bool = True, **checkpointables: Any)[source]¶ Bases:
object
A checkpointer that can save/load model as well as extra checkpointable objects.
-
__init__
(model: torch.nn.Module, save_dir: str = '', *, save_to_disk: bool = True, **checkpointables: Any) → None[source]¶ - Parameters
model (nn.Module) – model.
save_dir (str) – a directory to save and find checkpoints.
save_to_disk (bool) – if True, save checkpoint to disk, otherwise disable saving for this checkpointer.
checkpointables (object) – any checkpointable objects, i.e., objects that have the
state_dict()
andload_state_dict()
method. For example, it can be used like Checkpointer(model, “dir”, optimizer=optimizer).
-
add_checkpointable
(key: str, checkpointable: Any) → None[source]¶ Add checkpointable object for this checkpointer to track.
- Parameters
key (str) – the key used to save the object
checkpointable – any object with
state_dict()
andload_state_dict()
method
-
load
(path: str, checkpointables: Optional[List[str]] = None) → Dict[str, Any][source]¶ Load from the given checkpoint.
- Parameters
- Returns
dict – extra data loaded from the checkpoint that has not been processed. For example, those saved with
save(**extra_data)()
.
-
has_checkpoint
() → bool[source]¶ - Returns
bool – whether a checkpoint exists in the target directory.
-
get_all_checkpoint_files
() → List[str][source]¶ - Returns
list –
- All available checkpoint files (.pth files) in target
directory.
-
-
class
detectron2.checkpoint.
PeriodicCheckpointer
(checkpointer: fvcore.common.checkpoint.Checkpointer, period: int, max_iter: Optional[int] = None, max_to_keep: Optional[int] = None, file_prefix: str = 'model')[source]¶ Bases:
object
Save checkpoints periodically. When .step(iteration) is called, it will execute checkpointer.save on the given checkpointer, if iteration is a multiple of period or if max_iter is reached.
-
checkpointer
¶ the underlying checkpointer object
- Type
-
__init__
(checkpointer: fvcore.common.checkpoint.Checkpointer, period: int, max_iter: Optional[int] = None, max_to_keep: Optional[int] = None, file_prefix: str = 'model') → None[source]¶ - Parameters
checkpointer – the checkpointer object used to save checkpoints.
period (int) – the period to save checkpoint.
max_iter (int) – maximum number of iterations. When it is reached, a checkpoint named “{file_prefix}_final” will be saved.
max_to_keep (int) – maximum number of most current checkpoints to keep, previous checkpoints will be deleted
file_prefix (str) – the prefix of checkpoint’s filename
-
step
(iteration: int, **kwargs: Any) → None[source]¶ Perform the appropriate action at the given iteration.
- Parameters
iteration (int) – the current iteration, ranged in [0, max_iter-1].
kwargs (Any) – extra data to save, same as in
Checkpointer.save()
.
-
save
(name: str, **kwargs: Any) → None[source]¶ Same argument as
Checkpointer.save()
. Use this method to manually save checkpoints outside the schedule.- Parameters
name (str) – file name.
kwargs (Any) – extra data to save, same as in
Checkpointer.save()
.
-
-
class
detectron2.checkpoint.
DetectionCheckpointer
(model, save_dir='', *, save_to_disk=None, **checkpointables)[source]¶ Bases:
fvcore.common.checkpoint.Checkpointer
Same as
Checkpointer
, but is able to: 1. handle models in detectron & detectron2 model zoo, and apply conversions for legacy models. 2. correctly load checkpoints that are only available on the master worker