Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
# DEBUG Evaluate the firing rate and the simulated firing rate
state = popn.eval_state(x_true)
for n in np.arange(options.N):
lam_true = state['glms'][n]['lam'].ravel()
lam_sim = popn.glms[n].nlin_model.f_nlin(data['X'][:,n])
assert np.allclose(lam_true, lam_sim)
# Pickle the data so we can open it more easily
fname_pkl = os.path.join(options.resultsDir, 'data.pkl')
print "Saving data to %s" % fname_pkl
with open(fname_pkl,'w') as f:
cPickle.dump(data, f, protocol=-1)
# Plot firing rates, stimulus responses, etc
do_plot_imp_resonses = int(options.N) <= 16
plot_results(popn, data['vars'],
resdir=options.resultsDir,
do_plot_stim_resp=True,
do_plot_imp_responses=do_plot_imp_resonses)
import pdb; pdb.set_trace()
# Perform inference
# raw_input('Press any key to begin inference...\n')
x_smpls = gibbs_sample(popn, x0=x0, N_samples=N_samples,
init_from_mle=False,
callback=None)
# Save results
print "Saving results to %s" % results_file
with open(results_file, 'w') as f:
cPickle.dump(x_smpls, f, protocol=-1)
# Plot average of last 20% of samples
smpl_frac = 0.2
plot_results(popn,
x_smpls[-1*int(smpl_frac*N_samples):],
popn_true=popn_true,
x_true=x_true,
resdir=options.resultsDir)
""" Run a test with synthetic data and MAP inference via
parallel coordinate descent.
"""
options, popn, data, client, popn_true, x_true = initialize_parallel_test_harness()
print "Performing parallel inference"
x_inf = parallel_coord_descent(client, data['N'], maxiter=1)
ll_inf = popn.compute_log_p(x_inf)
print "LL_inf: %f" % ll_inf
# Save results
with open(os.path.join(options.resultsDir, 'results.pkl'),'w') as f:
cPickle.dump(x_inf,f, protocol=-1)
# Plot results
plot_results(popn, x_inf,
popn_true, x_true,
do_plot_imp_responses=False,
resdir=options.resultsDir)
# DEBUG Evaluate the firing rate and the simulated firing rate
state = popn.eval_state(x_true)
for n in np.arange(options.N):
lam_true = state['glms'][n]['lam']
lam_sim = popn.glm.nlin_model.f_nlin(data['X'][:,n])
assert np.allclose(lam_true, lam_sim)
# Pickle the data so we can open it more easily
fname_pkl = os.path.join(options.resultsDir, 'data.pkl')
print "Saving data to %s" % fname_pkl
with open(fname_pkl,'w') as f:
cPickle.dump(data, f, protocol=-1)
# Plot firing rates, stimulus responses, etc
do_plot_imp_resonses = int(options.N) <= 16
plot_results(popn, data['vars'],
resdir=options.resultsDir,
do_plot_stim_resp=True,
do_plot_imp_responses=do_plot_imp_resonses)
# Print results summary
for i in np.arange(len(models)):
print "Model %d:\tTrain LL: %.1f\tXV LL: %.1f\tTotal LL: %.1f" % (i, train_lls[i], xv_lls[i], total_lls[i])
print "Best model: %d" % best_ind
print "Best Total LL: %f" % popn.compute_ll(best_x)
print "True LL: %f" % popn_true.compute_ll(x_true)
# Save results
results_file = os.path.join(options.resultsDir, 'results.pkl')
print "Saving results to %s" % results_file
with open(results_file, 'w') as f:
cPickle.dump(best_x, f)
# Plot results
plot_results(popn, best_x, popn_true, x_true, resdir=options.resultsDir)
ll0 = popn.compute_log_p(x0)
print "LL0: %f" % ll0
# Perform inference
x_inf = coord_descent(popn, x0=x0, maxiter=1)
ll_inf = popn.compute_log_p(x_inf)
print "LL_inf: %f" % ll_inf
# Save results
results_file = os.path.join(options.resultsDir, 'results.pkl')
print "Saving results to %s" % results_file
with open(results_file, 'w') as f:
cPickle.dump(x_inf, f, protocol=-1)
# Plot results
plot_results(popn, x_inf, popn_true, x_true, resdir=options.resultsDir)
cbk = lambda x: plot_sample_callback(x, plotters)
# Perform inference
raw_input('Press any key to begin inference...\n')
x_smpls = gibbs_sample(popn, data, x0=x0, N_samples=N_samples,
init_from_mle=False,
callback=cbk)
# Save results
print "Saving results to %s" % results_file
with open(results_file, 'w') as f:
cPickle.dump(x_smpls, f, protocol=-1)
# Plot average of last 20% of samples
smpl_frac = 0.2
plot_results(popn,
x_smpls[-1*int(smpl_frac*N_samples):],
popn_true=popn_true,
x_true=x_true,
resdir=options.resultsDir)