Example #1
0
            multi_dim=multi_dim)

    # Have we already trained a GP that we load or do we train a new one_
    if load_params:
        gauss.load_model_parameters(train_obs, train_lecs, params_load_path)
    else:
        train_gp_model(train_obs, train_lecs)

    if save_params:
        gauss.save_model_parameters(params_save_path, training_tags, kernel, train_parameter_dim,
                                    lengthscale, multi_dim, rescale_data)

    # Get prediction from GP
    mod_obs, mod_var = calculate_valid(val_lecs)


    # Fix plot stuff and stuff
    
    gauss.plot_energy_curve(mod_obs,val_obs, mod_var, val_energy)
    gauss.plot_predicted_actual(mod_obs, val_obs, mod_var,
                                 training_tags, validation_tags)
    if save_fig:
         gauss.generate_and_save_tikz(mod_obs, val_obs, mod_var,
                                 training_tags, validation_tags)
    
    print gauss.get_sigma_intervals(mod_obs, val_obs, mod_var)
    gauss.plot_modelerror(val_lecs, train_lecs, mod_obs, val_obs,
                           training_tags, validation_tags)
    print('Model error: ' + str(gauss.get_model_error(mod_obs, val_obs)))

observables = nsopt.get_nsopt_observable(energies, LECM=lecs)
print(
    '----------------------------------------------------------------------------------------------------'
)
print(observables)
print(np.size(observables))
print(
    '----------------------------------------------------------------------------------------------------'
)

val_lecs = np.split(lecs, 2)[0]
val_energy = np.split(energies, 2)[0]
val_obs = np.split(observables, 2)[0]

train_lecs = np.split(lecs, 2)[1]
train_energy = np.split(energies, 2)[1]
train_obs = np.split(observables, 2)[1]

gauss.set_gp_kernel(kernel=kernel,
                    in_dim=LEC_LENGTH,
                    lengthscale=lengthscale,
                    multi_dim=True)
gauss.populate_gp_model(train_obs,
                        np.hstack((train_lecs, train_energy)),
                        rescale=False)
gauss.optimize()

mod_obs, mod_var = gauss.calculate_valid(np.hstack(val_lecs, val_energy))

gauss.plot_predicted_actual(mod_obs, val_obs, mod_var, 'hej', 'hej')