Ejemplo n.º 1
0
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])
Ejemplo n.º 2
0
# 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)