-
Notifications
You must be signed in to change notification settings - Fork 0
/
manager.py
41 lines (38 loc) · 1.45 KB
/
manager.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import network
networks = []
errors = []
def build_networks(layers, activations, d_activations, cost, d_cost, num_nets,
random_limit):
for i in range(num_nets):
networks.append(network.FeedForwardNetwork(layers, activations,
d_activations, cost, d_cost, random_limit))
errors.append(0)
def train_nets(inputs, outputs, training_rate, epochs, batch_size, outer_min,
random_limit, layers, activations, d_activations, cost, d_cost, num_nets):
minimum = 100
minnet = 3
while (minimum > outer_min): #or random_limit>100001):
sum = 0
#while minimum > outer_min:
print('building networks')
print("Random Limit :", random_limit)
build_networks(layers, activations, d_activations, cost, d_cost,
num_nets, random_limit)
for network in networks:
output = network.train(inputs, outputs, training_rate, epochs,
batch_size, False)
print('finished a network')
print("output error =", output)
# Everything below subjected to changes
sum += output
if output < minimum:
minimum = output
minnet = network
#if minimum < outer_min:
# return minnet
print("Couldn't find anything")
avg = sum / num_nets
print(minimum, avg, random_limit)
networks.clear()
random_limit *= 10
return minnet