CheckpointRunner
- class negmas.checkpoints.CheckpointRunner(folder: str | ~pathlib.Path, id: str | None = None, callback: ~typing.Callable[[~negmas.types.named.NamedObject, int], None] | None = None, watch: bool = False, object_type: type[~negmas.types.named.NamedObject] = <class 'negmas.types.named.NamedObject'>)[source]
Bases:
objectRuns an object based on its checkpoints saved in an earlier run
Attributes Summary
Gets the current step number
Get the first stored step number (None if it does not exist)
Get the last stored step number (None if it does not exist)
The object stored in the current checkpoint
Get the next stored step number (None if it does not exist)
Get the previous stored step number (None if it does not exist)
A list of all stored steps
Methods Summary
fork([copy_past_checkpoints, every, folder, ...])Creates a copy of the internal object that can be run safely.
goto(step[, exact])Goes to the nearest step for the given one returning the exact step number.
register_callback(callback)Registers a callback to be called whenever a new step is loaded
reset()Goes before the first step
run()Run all steps.
step()Go one step forward in the stored steps.
Attributes Documentation
- current_step
Gets the current step number
- first_step
Get the first stored step number (None if it does not exist)
- last_step
Get the last stored step number (None if it does not exist)
- loaded_object
The object stored in the current checkpoint
- next_step
Get the next stored step number (None if it does not exist)
- previous_step
Get the previous stored step number (None if it does not exist)
- steps
A list of all stored steps
Methods Documentation
- fork(copy_past_checkpoints: bool = False, every: int = 1, folder: str | Path | None = None, filename: str | None = None, info: dict[str, Any] | None = None, exist_ok: bool = True, single: bool = True) NamedObject | None[source]
Creates a copy of the internal object that can be run safely.
- Parameters:
copy_past_checkpoints – If true, all checkpoints upto and including current_step will be copied to the given folder
every – Number of steps per checkpoint. If < 1 no checkpoints will be saved
folder – The directory to store checkpoints under
filename – Name of the file to save the checkpoint under. If None, a unique name will be chosen. If
single_checkpointwas False, then multiple files will be used prefixed with the step numberinfo – Any extra information to save in the json file associated with each checkpoint
exist_ok – Override existing files if any
single – If True, only the most recent checkpoint will be kept
Returns:
- goto(step: int, exact=False) int | None[source]
Goes to the nearest step for the given one returning the exact step number.
- Parameters:
step – The step we want to goto
exact – If True, must go to the exact step number, otherwise go to the nearest step stored in a checkpoint
- Returns:
None if the current step is the nearest to the given step. Otherwise the exact step we moved to
- register_callback(callback: Callable[[NamedObject, int], None]) None[source]
Registers a callback to be called whenever a new step is loaded
- Parameters:
callback – A callable that takes the named object (after it is loaded and an integer specifying the step number and returns None.
- run()[source]
Run all steps. Notice that if
register_callbackwas used to register some callback functions, they will be called for every stored stepped during the run.