from collections import defaultdict import itertools from minimizer import RMSprop, LBFGS import energies import training_objective import training_objective_hmc import training_objective_hmc1 """ The optimization actually didn't work, possibly because we have a very small epsilon in front of the parameter, readering the gradient be relatively small. Actually, the whole energy landscape is quite flat, maybe try some monotonic transformation e.g., exp() or log() to make the landscape more discernable? """ energy_2d = energies.gauss_2d() """ set up necessary params """ rng = np.random.RandomState(12) n_sample = 5000 n_dim = 2 n_steps = 300 n_steps_hmc = 30 true_init = True random_stepsizes = rng.rand(n_sample) random_interval = 1.5*random_stepsizes-1 stepsize_baseline = 0.2 noise_level = 2