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)
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)))