Я хочу изменить свою сеть brainjs.Я создаю 10 сетей, и в каждой из них есть набор случайных тренировок.Затем я хочу взять сеть с наибольшим количеством очков и изменить ее.Затем повторите процесс.Вот мой код:
const NET_NUM = 10;
var nets = []
, encode = function(arg) {
return arg.toString().split('').map(a => {
return a.charCodeAt(0) / 255
});
}
for (let i = 0; i < NET_NUM; i++) {
var net = new brain.NeuralNetwork();
var input = {
data: '',
money: 20
};
for (let o = i; o < NET_NUM; o++) {
input.data+='a';
}
net.train([{ input: encode(input), output: { do: 0 }];
nets.push(net);
}
function mutate(net) {
//mutate net here
return mutated_net;
}
var mutated = mutate(nets[0]);
Я пробовал neataptic, но у него есть набор входов, которые вы можете использовать.Например:
var net = new neataptic.Network(2, 1);
net.train(data);
, но выдает ошибку:
Размер ввода / вывода набора данных должен совпадать с размером ввода / вывода сети!
Я не знаю много о нейронных сетях, поэтому любая помощь будет высоко ценится.
Спасибо!