currents = range(Imin, Imax, dI) frequency = np.zeros(len(currents)) print "Running Simulations" results = [] for c in range(nTests): selection = rng.randint(0, npoints, len(originalConstants)) constants = np.zeros(len(originalConstants)) for s in range(len(originalConstants)): constants[s] = originalConstants[s, selection[s]] network.set_constants(constants) try: for i in range(len(currents)): spikes, V, W = network.run(duration, currents[i]) spikes = spikes[spikes > 0] try: period = (spikes[-2] - spikes[-3] + 0.0) * del_t frequency[i] = 1000.0 / period except: print "frequency to low to measure" if sum(frequency > 0) > 10: results.append([constants, frequency, currents]) except: print "network failed to run" print "Search Complete" print len(results), "variations found"
Script to test the neuronal network created by nn.py """ import numpy as np from bnn import BNN import matplotlib.pyplot as plt #Set random seed for reproducability rng = np.random.RandomState(42) #Parameters for network num_neurons = 1 duration = 1000 del_t = 0.01 print "Creating Network" network = BNN(num_neurons=num_neurons, connectome=np.zeros((num_neurons, num_neurons)), del_t=del_t) print "Running Network" spikes, V, W = network.run(duration, 40) print "Displaying Results" plt.figure(1) plt.scatter(spikes[:,1], spikes[:,0]) plt.figure(2) plt.plot(V[:,5])