最终检查点

final_checkpoints(num_epochs: int = 100, schedule: str | CheckpointSchedule | type[CheckpointSchedule] | None = None, schedule_kwargs: Mapping[str, Any] | None = None, keeper: str | CheckpointKeeper | type[CheckpointKeeper] | None = None, keeper_kwargs: Mapping[str, Any] | None = None) list[int][source]

模拟一个检查点计划并返回保留检查点的时期集合。

>>> final_checkpoints(50)
[10, 20, 30, 40, 50]
>>> final_checkpoints(50, schedule="explicit", schedule_kwargs=dict(steps=[30, 35]))
[30, 35]
>>> final_checkpoints(
...     50,
...     schedule="union",
...     schedule_kwargs=dict(
...         bases=["every", "explicit"],
...         bases_kwargs=[dict(frequency=15), dict(steps=[7,])],
...     ),
... )
[7, 15, 30, 45]
>>> final_checkpoints(50, keeper="last", keeper_kwargs=dict(keep=2))
[40, 50]
>>> final_checkpoints(50, keeper="modulo", keeper_kwargs=dict(modulo=20))
[20, 40]
>>> final_checkpoints(50, keeper="explicit", keeper_kwargs=dict(keep=[15]))
[]
>>> final_checkpoints(
...     50,
...     keeper="union",
...     keeper_kwargs=dict(
...         bases=["last", "modulo"],
...         bases_kwargs=[None, dict(divisor=20)],
...     ),
... )
[20, 40, 50]

警告

您无法轻松检查依赖于训练动态的计划,例如 BestCheckpointSchedule

Parameters:
  • num_epochs (int) – 训练的轮数

  • schedule (str | CheckpointSchedule | type[CheckpointSchedule] | None) – 一个检查点调度实例或选择,参见 pykeen.checkpoints.scheduler_resolver

  • schedule_kwargs (Mapping[str, Any] | None) – 当调度需要首先从选择中实例化时,额外的基于关键字的参数,参见 pykeen.checkpoints.scheduler_resolver

  • keeper (str | CheckpointKeeper | type[CheckpointKeeper] | None) – 一个检查点保留策略实例或选择,参见 pykeen.checkpoints.keeper_resolver None 对应于保留所有已检查点的内容。

  • keeper_kwargs (Mapping[str, Any] | None) – 当保留策略需要首先从选择中实例化时,额外的基于关键字的参数,参见 pykeen.checkpoints.keeper_resolver

Returns:

清理后保留检查点的排序列表。

Return type:

list[int]