syne_tune.optimizer.schedulers.multiobjective.utils module
- syne_tune.optimizer.schedulers.multiobjective.utils.default_reference_point(results_array)[source]
- Return type:
ndarray
- syne_tune.optimizer.schedulers.multiobjective.utils.hypervolume(results_array, reference_point=None)[source]
Compute the hypervolume of all results based on reference points
- Parameters:
results_array (
ndarray
) – Array with experiment results ordered by time with shape(npoints, ndimensions)
.reference_point (
Optional
[ndarray
]) – Reference points for hypervolume calculations. IfNone
, the maximum values of each dimension of results_array is used.
- Return type:
float
:return Hypervolume indicator
- syne_tune.optimizer.schedulers.multiobjective.utils.linear_interpolate(hv_indicator, indices)[source]
- syne_tune.optimizer.schedulers.multiobjective.utils.hypervolume_cumulative(results_array, reference_point=None, increment=1)[source]
Compute the cumulative hypervolume of all results based on reference points Returns an array with hypervolumes given by an increasing range of points.
return_array[idx] = hypervolume(results_array[0 : (idx + 1)])
.The current implementation is very slow, since the hypervolume index is not computed incrementally. A solution for now is to use
increment > 1
, in which case the HV index is only computed everyincrement
entry, and linearly interpolated in between.- Parameters:
results_array (
ndarray
) – Array with experiment results ordered by time with shape(npoints, ndimensions)
.reference_point (
Optional
[ndarray
]) – Reference points for hypervolume calculations. IfNone
, the maximum values of each dimension of results_array is used.
- Return type:
ndarray
- Returns:
Cumulative hypervolume array, shape
(npoints,)