def init_inputlayer(input_size, data, sum_rate, dur, silence): pop_list = [] pop = p.Population(input_size*input_size, p.SpikeSourceArray, {'spike_times' : []}) spike_source_data = sr.gen_spike_source(data,SUM_rate=sum_rate, dur_test = dur, silence = silence) for j in range(input_size*input_size): pop[j].spike_times = spike_source_data[j] pop_list.append(pop) return pop_list
def init_inputlayer(input_size, data, sum_rate, dur, silence): pop_list = [] pop = p.Population(input_size*input_size, p.SpikeSourceArray, {'spike_times' : []}) spike_source_data = sr.gen_spike_source(data,SUM_rate=sum_rate, dur_test = dur, silence=silence) for j in range(input_size*input_size): pop[j].spike_times = spike_source_data[j] pop_list.append(pop) return pop_list
scaled_w['x0'] = x0 scaled_w['y0'] = y0 alg.save_dict(scaled_w, w_listf) num_test = 10 random.seed(0) dur_test = 1000 silence = 200 test_x = dbnet['test_x'] result_list = np.zeros((test_x.shape[0], 2)) for offset in range(0, test_x.shape[0], num_test): #for offset in range(0, 1000, num_test): print offset test = test_x[offset:(offset+num_test), :] spike_source_data = sr.gen_spike_source(test) spikes = sr.run_test(w, cell_params_lif, spike_source_data) spike_count = list() for i in range(w[-1].shape[1]): index_i = np.where(spikes[:,0] == i) spike_train = spikes[index_i, 1] temp = sr.counter(spike_train, range(0, (dur_test+silence)*num_test,dur_test+silence), dur_test) spike_count.append(temp) spike_count = np.array(spike_count)/(dur_test / 1000.) r = np.argmax(spike_count, axis=0) result_list[offset:offset+num_test, 0] = r result_list[offset:offset+num_test, 1] = (result_list[offset:offset+num_test, 0] == dbnet['test_y'][offset:offset+num_test]).astype(int) index = np.where(spike_count.max(axis=0)==0)[0] result_list[offset+index, 1] = -1 #print spike_count, np.argmax(spike_count, axis=0), dbnet['test_y'][:10]
scaled_w['x0'] = x0 scaled_w['y0'] = y0 alg.save_dict(scaled_w, w_listf) num_test = 10 random.seed(0) dur_test = 1000 silence = 200 test_x = dbnet['test_x'] result_list = np.zeros((test_x.shape[0], 2)) for offset in range(0, test_x.shape[0], num_test): #for offset in range(0, 1000, num_test): print offset test = test_x[offset:(offset + num_test), :] spike_source_data = sr.gen_spike_source(test) spikes = sr.run_test(w, cell_params_lif, spike_source_data) spike_count = list() for i in range(w[-1].shape[1]): index_i = np.where(spikes[:, 0] == i) spike_train = spikes[index_i, 1] temp = sr.counter( spike_train, range(0, (dur_test + silence) * num_test, dur_test + silence), dur_test) spike_count.append(temp) spike_count = np.array(spike_count) / (dur_test / 1000.) r = np.argmax(spike_count, axis=0) result_list[offset:offset + num_test, 0] = r result_list[offset:offset + num_test,