wagenaartje / neataptic

:rocket: Blazing fast neuro-evolution & backpropagation for the browser and Node.js
https://wagenaartje.github.io/neataptic/
Other
1.18k stars 278 forks source link

Neat's input and output parameters are useless if a network is provided #144

Open flesler opened 5 years ago

flesler commented 5 years ago

So I checked the code, at least within the neat module, the first 2 arguments (inputs and outputs) are only use to create the random network if none is provided.

This means that if one is, those 2 are useless and hence the calling code looks awkward. I think it should make more sense to make inputs and outputs also options (heck, make it accept just a single options object) and hence they are optional and only used (and required) if no template network is provided.

flesler commented 5 years ago

An extra comment, I notice that when a network is provided, it is used as a template as is. That means that either passing a random network or any other, means the first generation is all equal and does the same thing (AFAIU). Maybe it'd make sense to randomly mutate each template the first time?