dacapo.experiments.training_stats
Attributes
Classes
A class used to represent Training Statistics. It contains a list of training |
Module Contents
- dacapo.experiments.training_stats.logger
- class dacapo.experiments.training_stats.TrainingStats
A class used to represent Training Statistics. It contains a list of training iteration statistics. It also provides methods to add new iteration stats, delete stats after a specified iteration, get the number of iterations trained for, and convert the stats to a xarray data array.
- iteration_stats
List[TrainingIterationStats] an ordered list of training stats.
- add_iteration_stats(iteration_stats
TrainingIterationStats) -> None: Add a new set of iterations stats to the existing list of iteration stats.
- delete_after(iteration
int) -> None: Deletes training stats after a specified iteration number.
- trained_until() int
Gets the number of iterations that the model has been trained for.
- to_xarray() xr.DataArray
Converts the iteration statistics to a xarray data array.
Note
The iteration stats list is structured as follows: - The outer list contains the stats for each iteration. - The inner list contains the stats for each training iteration.
- iteration_stats: List[dacapo.experiments.training_iteration_stats.TrainingIterationStats]
- add_iteration_stats(iteration_stats: dacapo.experiments.training_iteration_stats.TrainingIterationStats) None
Add a new iteration stats to the current iteration stats.
- Parameters:
iteration_stats (TrainingIterationStats) – a new iteration stats object.
- Raises:
assert – if the new iteration stats do not follow the order of existing iteration stats.
Examples
>>> training_stats = TrainingStats() >>> training_stats.add_iteration_stats(TrainingIterationStats(0, 0.1)) >>> training_stats.add_iteration_stats(TrainingIterationStats(1, 0.2)) >>> training_stats.add_iteration_stats(TrainingIterationStats(2, 0.3)) >>> training_stats.iteration_stats [TrainingIterationStats(iteration=0, loss=0.1), TrainingIterationStats(iteration=1, loss=0.2), TrainingIterationStats(iteration=2, loss=0.3)]
Note
The iteration stats list is structured as follows: - The outer list contains the stats for each iteration. - The inner list contains the stats for each training iteration.
- delete_after(iteration: int) None
Deletes training stats after a specified iteration.
- Parameters:
iteration (int) – the iteration after which the stats are to be deleted.
- Raises:
assert – if the iteration number is less than the maximum iteration number.
Examples
>>> training_stats = TrainingStats() >>> training_stats.add_iteration_stats(TrainingIterationStats(0, 0.1)) >>> training_stats.add_iteration_stats(TrainingIterationStats(1, 0.2)) >>> training_stats.add_iteration_stats(TrainingIterationStats(2, 0.3)) >>> training_stats.delete_after(1) >>> training_stats.iteration_stats [TrainingIterationStats(iteration=0, loss=0.1)]
Note
The iteration stats list is structured as follows: - The outer list contains the stats for each iteration. - The inner list contains the stats for each training iteration.
- trained_until() int
The number of iterations trained for (the maximum iteration plus one). Returns zero if no iterations trained yet.
- Returns:
number of iterations that the model has been trained for.
- Return type:
int
- Raises:
assert – if the iteration stats list is empty.
Examples
>>> training_stats = TrainingStats() >>> training_stats.add_iteration_stats(TrainingIterationStats(0, 0.1)) >>> training_stats.add_iteration_stats(TrainingIterationStats(1, 0.2)) >>> training_stats.add_iteration_stats(TrainingIterationStats(2, 0.3)) >>> training_stats.trained_until() 3
Note
The iteration stats list is structured as follows: - The outer list contains the stats for each iteration. - The inner list contains the stats for each training iteration.
- to_xarray() xarray.DataArray
Converts the iteration stats to a data array format easily manipulatable.
- Returns:
xarray DataArray of iteration losses.
- Return type:
xr.DataArray
- Raises:
assert – if the iteration stats list is empty.
Examples
>>> training_stats = TrainingStats() >>> training_stats.add_iteration_stats(TrainingIterationStats(0, 0.1)) >>> training_stats.add_iteration_stats(TrainingIterationStats(1, 0.2)) >>> training_stats.add_iteration_stats(TrainingIterationStats(2, 0.3)) >>> training_stats.to_xarray() <xarray.DataArray (iterations: 3)> array([0.1, 0.2, 0.3]) Coordinates: * iterations (iterations) int64 0 1 2
Note
The iteration stats list is structured as follows: - The outer list contains the stats for each iteration. - The inner list contains the stats for each training iteration.