P

#### pablobarhamalzas

def tick(self):

input_num = self.input_num

hidden_num = self.hidden_num

output_num = self.output_num

hidden = [0]*hidden_num

output = [0]*output_num

inputs = self.input

h_weight = self.h_weight

o_weight = self.o_weight

e = math.e

count = -1

for x in range(hidden_num):

temp = 0

for y in range(input_num):

count += 1

temp += inputs[y] * h_weight[count]

hidden[x] = 1/(1+e**(-temp))

count = -1

for x in range(output_num):

temp = 0

for y in range(hidden_num):

count += 1

temp += hidden[y] * o_weight[count]

output[x] = 1/(1+e**(-temp))

self.output = output

The function is actually quite fast (~0.040 seconds per 200 calls, using 10input, 20 hidden and 3 output neurons), and used to be much slower untill I fiddled about with it a bit to make it faster. However, it is still somewhat slow for what I need it.

My question to you is if you an see any obvious (or not so obvious) way of making this faster. I've heard about numpy and have been reading about it, but I really can't see how it could be implemented here.

Cheers!