detectron2.checkpoint¶
-
class
detectron2.checkpoint.
Checkpointer
(model: torch.nn.Module, save_dir: str = '', *, save_to_disk: bool = True, **checkpointables: Any)[source]¶ Bases:
object
一个可以保存/加载模型以及其他可检查点对象的检查点器。
-
__init__
(model: torch.nn.Module, save_dir: str = '', *, save_to_disk: bool = True, **checkpointables: Any) → None[source]¶
-
add_checkpointable
(key: str, checkpointable: Any) → None[source]¶ 为该检查点器添加要跟踪的可检查点对象。
- 参数
key (str) – 用于保存对象的键
checkpointable – 任何具有
state_dict()
和load_state_dict()
方法的对象
-
-
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
定期保存检查点。当调用 .step(iteration) 时,它将根据给定的 checkpointer 执行 checkpointer.save,如果迭代是周期的倍数,或者如果 max_iter 达到。
-
checkpointer
¶ 底层检查点对象
- 类型
-
__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]¶
-
step
(iteration: int, **kwargs: Any) → None[source]¶ 在给定的迭代中执行适当的操作。
- 参数
iteration (int) – 当前迭代,范围在 [0, max_iter-1] 内。
kwargs (Any) – 要保存的额外数据,与
Checkpointer.save()
中的相同。
-
save
(name: str, **kwargs: Any) → None[source]¶ 与
Checkpointer.save()
相同的参数。使用此方法可以在计划之外手动保存检查点。- 参数
name (str) – 文件名。
kwargs (Any) – 要保存的额外数据,与
Checkpointer.save()
中的相同。
-
-
class
detectron2.checkpoint.
DetectionCheckpointer
(model, save_dir='', *, save_to_disk=None, **checkpointables)[source]¶ 基础类:
fvcore.common.checkpoint.Checkpointer
与
Checkpointer
相同,但能够:1. 处理 detectron 和 detectron2 模型库中的模型,并应用对旧模型的转换。 2. 正确加载仅在主工作器上可用的检查点。