具有多个输出的 NEAT
NEAT with multiple output
我目前正在为我的课程作业实施程序分类器。
我的讲师让我使用 "Evolving ANN" 算法。
所以我找到了一个名为 NEAT (Neuro Evolution of Augmenting Topologies) 的包。
我有 10 个输入和 7 个输出,然后我只是从它的文档中修改源代码。
def eval_fitness(genomes):
for g in genomes:
net = nn.create_feed_forward_phenotype(g)
mse = 0
for inputs, expected in zip(alldata, label):
output = net.serial_activate(inputs)
output = np.clip(output, -1, 1)
mse += (output - expected) ** 2
g.fitness = 1 - (mse/44000) #44000 is the number of samples
print(g.fitness)
我也更改了配置文件,所以程序有 10 个输入和 7 个输出。
但是当我尝试 运行 代码时,它给了我错误
Traceback (most recent call last):
File "/home/ilhammaziz/PycharmProjects/tuproSC2/eANN.py", line 40, in <module>
pop.run(eval_fitness, 10)
File "/home/ilhammaziz/.local/lib/python3.5/site-packages/neat/population.py", line 190, in run
best = max(population)
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
我该怎么办?
谢谢
据我所知,错误不在您的代码中,而在它自己的库中。换一个就好了。
This one 我觉得很有希望。
我目前正在为我的课程作业实施程序分类器。 我的讲师让我使用 "Evolving ANN" 算法。 所以我找到了一个名为 NEAT (Neuro Evolution of Augmenting Topologies) 的包。 我有 10 个输入和 7 个输出,然后我只是从它的文档中修改源代码。
def eval_fitness(genomes):
for g in genomes:
net = nn.create_feed_forward_phenotype(g)
mse = 0
for inputs, expected in zip(alldata, label):
output = net.serial_activate(inputs)
output = np.clip(output, -1, 1)
mse += (output - expected) ** 2
g.fitness = 1 - (mse/44000) #44000 is the number of samples
print(g.fitness)
我也更改了配置文件,所以程序有 10 个输入和 7 个输出。 但是当我尝试 运行 代码时,它给了我错误
Traceback (most recent call last):
File "/home/ilhammaziz/PycharmProjects/tuproSC2/eANN.py", line 40, in <module>
pop.run(eval_fitness, 10)
File "/home/ilhammaziz/.local/lib/python3.5/site-packages/neat/population.py", line 190, in run
best = max(population)
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
我该怎么办? 谢谢
据我所知,错误不在您的代码中,而在它自己的库中。换一个就好了。 This one 我觉得很有希望。