-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Labels
bugSomething isn't workingSomething isn't working
Description
The following code should always return the same solution, but it does not:
solver = MCH(X,
sample_size=10_000,
rng=np.random.RandomState(0),
calc_observables=calc_observables,
model=model,
mch_approximation=mch_approximation)
# Define function for changing learning parameters as we converge.
def learn_settings(i):
"""
Take in the iteration counter and set the maximum change allowed in any given
parameter (maxdlamda) and the multiplicative factor eta, where
d(parameter) = (error in observable) * eta.
Additional option is to also return the sample size for that step by returning a
tuple. Larger sample sizes are necessary for higher accuracy.
"""
return {'maxdlamda':exp(-i/5.)*.5,'eta':exp(-i/5.)*.5}
# Run solver.
solver.solve(initial_guess=model.multipliers,
maxiter=30,
custom_convergence_f=learn_settings,
n_iters=500,
burn_in=1_000);Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working