def main(args): log = prep_log(args) log.info("Running {}.".format(args.name)) if args.verbose: log.info(args) prior_lims = np.array([[0, 1], [-10., 10.], [-120., 120.], [0., 2000], [0., 0.5], [0, 0.05], [0., 0.5], [0, 0.05]]) if args.verbose: log.info('prior') log.info(prior_lims) m = ChannelOmni(third_exp_model=False, seed=args.seed) p = dd.Uniform(lower=prior_lims[:, 0], upper=prior_lims[:, 1]) s = ChannelStats() g = Default(model=m, prior=p, summary=s) tic = time.time() dats = g.gen(args.n_samples) toc = time.time() log.info('Generation took {}s.'.format(toc - tic)) np.save('{}/theta.npy'.format(args.bp), dats[0]) np.save('{}/stats.npy'.format(args.bp), dats[1])
# Summary Statistics S = syn_obs_stats(x_o['I'], params=params, dt=x_o['dt'], t_on=t_on, t_off=t_off, n_summary=n_summary, summary_stats=2, data=x_o) M = DAPSimulator(x_o['I'], x_o['dt'], -75) s = DAPSummaryStatsMoments(t_on, t_off, n_summary=n_summary) G = Default(model=M, prior=prior_unif, summary=s) # Generator print('S', S) print('G', G.gen(1)) S = np.array([S, S]) # Runing the simulation inf_snpe = SNPE(generator=G, n_components=n_components, n_hiddens=n_hiddens, obs=S, reg_lambda=reg_lambda, pilot_samples=0) logs, tds, posteriors = inf_snpe.run(n_train=[n_samples], n_rounds=n_rounds, proposal=prior_unif, monitor=observables)