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