Ejemplo n.º 1
0
    w = float(sys.argv[5])
if len(sys.argv) >= 7:
    a_pf = float(sys.argv[6])
if len(sys.argv) >= 8:
    kick_seed = int(sys.argv[7])

print(cue, g_A, tSim)

param = (dt, tSim, N, S, p, num_fact, p_fact, dzeta, a_pf, eps, f_russo, cm, a,
         U, w, tau_1, tau_2, tau_3_A, tau_3_B, g_A, beta, tau, t_0, g,
         random_seed, p_0, n_p, nSnap, russo2008_mode, muted_prop)

key = file_handling.get_key(param)

if not os.path.exists('data_analysis/' + key):
    try:
        os.makedirs('data_analysis/' + key)
    except OSError as exc:  # Guard against race condition
        if exc.errno != errno.EEXIST:
            raise

ksi_i_mu, delta__ksi_i_mu__k = patterns.get_from_file(
    'pattern_S%d_a%.2f_apf%.2f_pfact%d_Nfact%d_Numfact%d_zeta%.3f' %
    (S, a, a_pf, p_fact, N, num_fact, dzeta))
# ksi_i_mu, delta__ksi_i_mu__k = patterns.get_uncorrelated()
J_i_j_k_l, C_i_j = initialisation.hebbian_tensor(delta__ksi_i_mu__k,
                                                 random_seed)

file_handling.save_parameters_pkl(param, key)
file_handling.save_network(ksi_i_mu, delta__ksi_i_mu__k, J_i_j_k_l, C_i_j, key)
Ejemplo n.º 2
0
max_C1 = 2 * int(N * a * a / S)
max_C2 = int(2 * N * a * a * (S - 1) / S)
n_C1 = min(max_C1 + 1, 25)
n_C2 = min(max_C2 + 1, 25)

ksi_i_mu, delta__ksi_i_mu__k = patterns.get_uncorrelated()

for C2 in np.linspace(0, 20, 21, dtype=int):
    for C1 in np.linspace(0, 10, 11, dtype=int):
        ksi_i_mu_b, delta__ksi_i_mu__k_b = patterns.get_2_patterns(C1, C2)
        ksi_i_mu[:, :2] = ksi_i_mu_b
        delta__ksi_i_mu__k[:, :2] = delta__ksi_i_mu__k_b

        print("Hebbian matrix")
        J_i_j_k_l = initialisation.hebbian_tensor(delta__ksi_i_mu__k, cm)

        print("Initialisation")
        r_i_k, r_i_S_A, r_i_S_B, sig_i_k, m_mu, dt_r_i_k_act, dt_r_i_S_A, \
            dt_r_i_S_B, theta_i_k, dt_theta_i_k, h_i_k = initialisation.network()

        print('Intégration')
        tS = np.arange(0, tSim, dt)
        nT = tS.shape[0]

        # Plot parameters
        nSnap = nT
        r_i_k_plot = np.zeros((nSnap, N * (S + 1)))
        m_mu_plot = np.zeros((nSnap, p))
        theta_i_k_plot = np.zeros((nSnap, N * S))
        sig_i_k_plot = np.zeros((nSnap, N * (S + 1)))