def _gradients(self, params): if settings.options['numerical_grad']: gradients = numerical_gradient(self.value, params=params) else: gradients = autodiff_gradient(self.value, params=params) return gradients
def test_numerical_gradient(): param1 = zfit.Parameter('param1', 4.) param2 = zfit.Parameter('param2', 5.) param3 = zfit.Parameter('param3', 2.) def func1(): return param1 * param2**2 + param3**param1 num_gradients = numerical_gradient(func1, params=[param1, param2, param3]) tf_gradients = autodiff_gradient(func1, params=[param1, param2, param3]) np.testing.assert_allclose(num_gradients, tf_gradients)