baseminimizer¶
Definition of minimizers, wrappers etc.
-
class
zfit.minimizers.baseminimizer.BaseMinimizer(name, tolerance, verbosity, minimizer_options, strategy=None, **kwargs)[source]¶ Bases:
zfit.minimizers.interface.ZfitMinimizerMinimizer for loss functions.
Additional minimizer_options (given as **kwargs) can be accessed and changed via the attribute (dict) minimizer.minimizer_options
-
minimize(loss: zfit.core.interfaces.ZfitLoss, params: Optional[Iterable[zfit.core.interfaces.ZfitParameter]] = None) → zfit.minimizers.fitresult.FitResult[source]¶ Fully minimize the loss with respect to params.
Parameters: - loss (ZfitLoss) – Loss to be minimized.
- params (list(zfit.Parameter) – The parameters with respect to which to minimize the loss. If None, the parameters will be taken from the loss.
Returns: The fit result.
Return type: FitResult
-
step(loss, params: Union[Iterable[zfit.core.interfaces.ZfitParameter], None, Iterable[str]] = None)[source]¶ Perform a single step in the minimization (if implemented).
Parameters: () (params) – Returns:
Raises: MinimizeStepNotImplementedError– if the step method is not implemented in the minimizer.
-
tolerance¶
-
-
zfit.minimizers.baseminimizer.DefaultStrategy¶
-
class
zfit.minimizers.baseminimizer.DefaultToyStrategy(nan_penalty: Union[float, int] = 100, nan_tolerance: int = 30, **kwargs)[source]¶ Bases:
zfit.minimizers.baseminimizer.PushbackStrategy,zfit.minimizers.baseminimizer.ToyStrategyFailSame as DefaultStrategy, but does not raise an error on full failure, instead return an invalid FitResult.
This can be useful for toy studies, where multiple fits are done and a failure should simply be counted as a failure instead of rising an error.
Pushback by adding nan_penalty * counter to the loss if NaNs are encountered.
The counter indicates how many NaNs occurred in a row. The nan_tolerance is the upper limit, if this is exceeded, the fallback will be used and an error is raised. :param nan_penalty: Value to add to the previous loss in order to penalize the step taken :param nan_tolerance: If the number of NaNs encountered in a row exceeds this number, the fallback is used.
-
minimize_nan(loss: zfit.core.interfaces.ZfitLoss, params: Union[zfit.core.interfaces.ZfitParameter, int, float, complex, tensorflow.python.framework.ops.Tensor], minimizer: zfit.minimizers.interface.ZfitMinimizer, values: Mapping[KT, VT_co] = None) → float¶
-
-
exception
zfit.minimizers.baseminimizer.FailMinimizeNaN[source]¶ Bases:
Exception-
args¶
-
with_traceback()¶ Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
-
-
class
zfit.minimizers.baseminimizer.PushbackStrategy(nan_penalty: Union[float, int] = 100, nan_tolerance: int = 30, **kwargs)[source]¶ Bases:
zfit.minimizers.baseminimizer.BaseStrategyPushback by adding nan_penalty * counter to the loss if NaNs are encountered.
The counter indicates how many NaNs occurred in a row. The nan_tolerance is the upper limit, if this is exceeded, the fallback will be used and an error is raised. :param nan_penalty: Value to add to the previous loss in order to penalize the step taken :param nan_tolerance: If the number of NaNs encountered in a row exceeds this number, the fallback is used.
-
minimize_nan(loss: zfit.core.interfaces.ZfitLoss, params: Union[zfit.core.interfaces.ZfitParameter, int, float, complex, tensorflow.python.framework.ops.Tensor], minimizer: zfit.minimizers.interface.ZfitMinimizer, values: Mapping[KT, VT_co] = None) → float¶
-
-
class
zfit.minimizers.baseminimizer.ToyStrategyFail[source]¶ Bases:
zfit.minimizers.baseminimizer.BaseStrategy-
minimize_nan(loss: zfit.core.interfaces.ZfitLoss, params: Union[zfit.core.interfaces.ZfitParameter, int, float, complex, tensorflow.python.framework.ops.Tensor], minimizer: zfit.minimizers.interface.ZfitMinimizer, values: Mapping[KT, VT_co] = None) → float¶
-
zfit