示例#1
0
''' Import and load saved weights '''
weight_file = open('weights.pickle', 'rb')
weights = pickle.load(weight_file)
weight_file.close()
network.set_weights(weights)

''' Record spiking activity of Layer 1 while showing it a bunch of images '''
print("Recording Spikes")
num_images = 1
time_step = 50
spikes = []
for i in tqdm(range(num_images)):
    network.populations[0].set_input(x_train[i])
    spikes.append(network.run(time_step, learning=False, record_spikes=True, pop_index=1).get("spikes"))
    network.rest()
spikes = np.reshape(spikes, (num_neurons, time_step*num_images))


''' Calculate correlation matrix from spiking activity '''
corr = np.zeros((len(spikes), len(spikes)))

print("Calculating correlation matrix")
for i in tqdm(range(len(spikes)-1)):
    for j in range(i+1,len(spikes)):
        corr[i,j] = correlation(spikes[i,:], spikes[j,:], len(spikes[j,:])-50)
        corr[i,j] = 1/(corr[i,j]+.01)

corr = corr + np.transpose(corr)

''' Compute and plot barcodes based on correlation matrix '''