Пример #1
0
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
Пример #2
0
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
Пример #3
0
    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]   
Пример #4
0
    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,