Commit c28436f2 authored by Viktor Reshniak's avatar Viktor Reshniak
Browse files

add call counts

parent 49f0e9a7
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -1152,7 +1152,13 @@ class Histogram(object):
		elif loss=='mle':
			gaussian_peak = Gaussian(ndims=3, covariance_parameterization=covariance_parameterization)
			class MLELoss(object):
				def __init__(self):
					self.func_calls = 0
					self.grad_calls = 0
					self.hess_calls = 0

				def __call__(self, params):
					self.func_calls+=1
					self.func_params = np.asarray(params).copy()

					# background
@@ -1167,6 +1173,7 @@ class Histogram(object):
					return (self.fit-fit_data*np.log(self.fit)).sum()

				def gradient(self, params, *args, **kwargs):
					self.grad_calls += 1
					self.grad_params = np.asarray(params).copy()
					if not np.all(self.grad_params==self.func_params):  g = self.__call__(params)

@@ -1178,6 +1185,7 @@ class Histogram(object):
					return np.concatenate((dloss_dbkgr,dloss_dpeak))

				def hessian(self, params, *args, **kwargs):
					self.hess_calls += 1
					self.hess_params = np.asarray(params).copy()
					if not np.all(self.hess_params==self.func_params):  g = self.__call__(params)
					if not np.all(self.hess_params==self.grad_params): dg = self.gradient(params)