コード例 #1
0
         c1_abv_p = np.zeros(0)
         c1_abv_1 = np.zeros(0)
         c1_blo_p = np.zeros(0)
         c1_blo_1 = np.zeros(0)
         
         c2_abv_p = np.zeros(0)
         c2_abv_1 = np.zeros(0)
         c2_blo_p = np.zeros(0)
         c2_blo_1 = np.zeros(0)
 
         #init weights
         lif.W = np.array([w0, w1])
 
         count = np.zeros(n)
         #Simulate LIF
         (v_raw, h_raw, _, _, u_raw) = lif.simulate(DeltaT)
         s1 = np.convolve(h_raw[0,:], exp_filter)[0:h_raw.shape[1]]
         s2 = np.convolve(h_raw[1,:], exp_filter)[0:h_raw.shape[1]]
         
         V = np.zeros((n, q))
         V_mean = np.zeros((n, q))
         nB = h_raw.shape[1]/DeltaT
         
         abvthr = np.zeros(n)
         blothr = np.zeros(n)
 
         #Create a perturbed set of trains
         for idx2, perturb_rate in enumerate(mvals):
             U = np.zeros((n, q))
             dU = np.zeros(U.shape)
 
         c1_abv_p = np.zeros(0)
         c1_abv_1 = np.zeros(0)
         c1_blo_p = np.zeros(0)
         c1_blo_1 = np.zeros(0)
         
         c2_abv_p = np.zeros(0)
         c2_abv_1 = np.zeros(0)
         c2_blo_p = np.zeros(0)
         c2_blo_1 = np.zeros(0)
 
         #init weights
         lif.W = np.array([w0, w1])
 
         count = np.zeros(n)
         #Simulate LIF
         (v_raw, h_raw, _, _) = lif.simulate()
         s1 = np.convolve(h_raw[0,:], exp_filter)[0:h_raw.shape[1]]
         s2 = np.convolve(h_raw[1,:], exp_filter)[0:h_raw.shape[1]]
         
         V = np.zeros((n, q))
         V_mean = np.zeros((n, q))
         nB = h_raw.shape[1]/DeltaT
         
         abvthr = np.zeros(n)
         blothr = np.zeros(n)
 
         #Create a perturbed set of trains
         for idx2, perturb_rate in enumerate(mvals):
             U = np.zeros((n, q))
             dU = np.zeros(U.shape)
 
コード例 #3
0
N = 19
nsims = 1
wmax = 20
n = params.n
deltaT = 50

#Play with different c values
cvals = [0.01, 0.25, 0.5, 0.75, 0.99]

for c in cvals:
	print("Running simulations for c = %f"%c)
	outfile = './sweeps/param_w_N_%d_nsims_%d_c_%f_deltaT_counterfactual_simulations.npz'%(N, nsims, c)
	params.c = c
	lif.setup(params)
	lif.x = 0
	wvals = np.linspace(2, wmax, N)
	vs = np.zeros((N, N, nsims, n, lif.T), dtype=np.float16)
	hs = np.zeros((N, N, nsims, n, lif.T), dtype=np.bool)
	us = np.zeros((N, N, nsims, n, lif.T), dtype=np.float16)
	for i,w0 in enumerate(wvals):
	    for j,w1 in enumerate(wvals):
	        print("Running %d simulations with w0=%f, w1=%f"%(nsims, w0, w1))
	        lif.W = np.array([w0, w1])
	        for k in range(nsims):
	            (v, h, Cost, betas, u) = lif.simulate(deltaT)
	            vs[i,j,k,:] = v
	            hs[i,j,k,:] = h
	            us[i,j,k,:] = u
	#Save output
	np.savez(outfile, vs = vs, hs = hs, params = params, wvals = wvals\
		, nsims = nsims, us = us)
コード例 #4
0
se_beta_fd_c = np.zeros((len(cvals), params.n))

m_beta_rd_c_linear = np.zeros((len(cvals), params.n))
se_beta_fd_c_linear = np.zeros((len(cvals), params.n))
m_beta_rd_c_linear = np.zeros((len(cvals), params.n))
se_beta_fd_c_linear = np.zeros((len(cvals), params.n))

beta_sp_c = np.zeros((len(cvals), params.n))
cost = lambda s1, s2: (alpha1 * s1 + alpha2 * s2 - x**2)**2

for i, c in enumerate(cvals):
    print("Running %d simulations with c=%s" % (nsims, c))
    params.c = c
    lif.setup(params)
    for j in range(nsims):
        (v, h, _, _, u) = lif.simulate(DeltaT)
        s1 = np.convolve(h[0, :], exp_filter)[0:h.shape[1]]
        s2 = np.convolve(h[1, :], exp_filter)[0:h.shape[1]]
        cost_s = cost(s1, s2)
        for k, p in enumerate(pvals):
            #print("p = %f"%p)
            beta_rd_c[i, j, k, :] = causaleffect_maxv(u, cost_s, DeltaT, p,
                                                      params)
            beta_rd_c_linear[i, j, k, :] = causaleffect_maxv_linear(
                u, cost_s, DeltaT, p, params)
        beta_fd_c[i, j, :] = causaleffect_maxv(u, cost_s, DeltaT, 1, params)
        beta_fd_c_linear[i, j, :] = causaleffect_maxv_linear(
            u, cost_s, DeltaT, 1, params)
        #Compute the SP cost
        beta_sp_c[i, :] = causaleffect_maxv_sp(u, h, cost, DeltaT, params,
                                               exp_filter)
コード例 #5
0
#Simulate for a range of $W$ values.
N = 19
nsims = 1
wmax = 20
n = params.n

#Play with different c values
cvals = [0.01, 0.25, 0.5, 0.75, 0.99]

for c in cvals:
    print("Running simulations for c = %f" % c)
    outfile = './sweeps/param_w_N_%d_nsims_%d_c_%f_deltaT_simulations.npz' % (
        N, nsims, c)
    params.c = c
    lif.setup(params)
    lif.x = 0
    wvals = np.linspace(2, wmax, N)
    vs = np.zeros((N, N, nsims, n, lif.T), dtype=np.float16)
    hs = np.zeros((N, N, nsims, n, lif.T), dtype=np.bool)
    for i, w0 in enumerate(wvals):
        for j, w1 in enumerate(wvals):
            print("Running %d simulations with w0=%f, w1=%f" % (nsims, w0, w1))
            lif.W = np.array([w0, w1])
            for k in range(nsims):
                (v, h, Cost, betas) = lif.simulate()
                vs[i, j, k, :] = v
                hs[i, j, k, :] = h
    #Save output
    np.savez(outfile, vs = vs, hs = hs, params = params, wvals = wvals\
     , nsims = nsims)
コード例 #6
0
se_beta_fd_c = np.zeros((len(cvals), params.n))

m_beta_rd_c_linear = np.zeros((len(cvals), params.n))
se_beta_fd_c_linear = np.zeros((len(cvals), params.n))
m_beta_rd_c_linear = np.zeros((len(cvals), params.n))
se_beta_fd_c_linear = np.zeros((len(cvals), params.n))

beta_sp_c = np.zeros((len(cvals), params.n))
cost = lambda s1, s2: (alpha1 * s1 + alpha2 * s2 - x**2)**2

for i, c in enumerate(cvals):
    print("Running %d simulations with c=%s" % (nsims, c))
    params.c = c
    lif.setup(params)
    for j in range(nsims):
        (v, h, _, _) = lif.simulate()
        s1 = np.convolve(h[0, :], exp_filter)[0:h.shape[1]]
        s2 = np.convolve(h[1, :], exp_filter)[0:h.shape[1]]
        cost_s = cost(s1, s2)
        for k, p in enumerate(pvals):
            #print("p = %f"%p)
            beta_rd_c[i, j, k, :] = causaleffect_maxv(v, cost_s, DeltaT, p,
                                                      params)
            beta_rd_c_linear[i, j, k, :] = causaleffect_maxv_linear(
                v, cost_s, DeltaT, p, params)
        beta_fd_c[i, j, :] = causaleffect_maxv(v, cost_s, DeltaT, 1, params)
        beta_fd_c_linear[i, j, :] = causaleffect_maxv_linear(
            v, cost_s, DeltaT, 1, params)
        #Compute the SP cost
        beta_sp_c[i, :] = causaleffect_maxv_sp(v, h, cost, DeltaT, params,
                                               exp_filter)