Progress meters¤
As the solve progresses, progress meters offer the ability to have some kind of output indicating how far along the solve has progressed. For example, to display a text output every now and again, or to fill a tqdm progress bar.
diffrax.AbstractProgressMeter
diffrax.AbstractProgressMeter
¤
Progress meters used to indicate how far along a solve is. Typically these perform some kind of printout as the solve progresses.
init(self) -> ~_State
abstractmethod
¤
Initialises the state for a new progress meter.
Arguments:
Nothing.
Returns:
The initial state for the progress meter.
step(self, state: ~_State, progress: float) -> ~_State
abstractmethod
¤
Updates the progress meter. Called on every numerical step of a differential equation solve.
Arguments:
state
: the state from the previous step.progress
: how far along the solve is, as a number in[0, 1]
.
Returns:
The updated state. In addition, the meter is expected to update as a side-effect.
close(self, state: ~_State)
abstractmethod
¤
Closes the progress meter. Called at the end of a differential equation solve.
Arguments:
state
: the final state from the end of the solve.
Returns:*
None.
¤
¤
¤
¤
diffrax.NoProgressMeter (AbstractProgressMeter)
¤
Indicates that no progress meter should be displayed during the solve.
__init__(self)
¤
Arguments:
Nothing.
diffrax.TextProgressMeter (AbstractProgressMeter)
¤
A text progress meter, printing out e.g.:
0.00%
2.00%
5.30%
...
100.00%
__init__(self, minimum_increase: Union[float, int] = 0.02)
¤
Arguments:
minimum_increase
: the minimum amount the progress has to have increased in order to print out a new line. The progress starts at 0 at the beginning of the solve, and increases to 1 at the end of the solve. Defaults to0.02
, so that a new line is printed each time the progress increases another 2%.
diffrax.TqdmProgressMeter (AbstractProgressMeter)
¤
Uses tqdm to display a progress bar for the solve.
__init__(self, refresh_steps: int = 20)
¤
Arguments:
refresh_steps
: the number of numerical steps between refreshing the bar. Used to limit how frequently the (potentially computationally expensive) bar update is performed.