Recommend a free Neural Network asset

Hello! I’m working on a project involving artificial neural nets. I wouldn’t like to start from scratch so I spent some time looking for a good free asset offering basic neural net functionality.
Surprisingly, there was nothing that would fulfill my needs.

Could you please recommend a good free asset or just whatever I could use to get ANN’s to Unity?

You may use the one i wrote as an answer to another question. It’s a general purpose neural network. though it’s based on mutation and not on explicit learning rules with backpropergation. It just allows you to create a network as you wish.

Here’s a direct link to my dropbox: NeuronalNetwork.cs

Note that this framework only implements a feed-forward network. It doesn’t allow “loops”. Also each layer is simply fully connected to the next. There are at least one input and one output layer. You can specify as many hidden layers you like.

Those are the example on my other answers:

// 2 inputs, 1 outputs, 3 neurons in the first hidden layer, 5 in the second hidden layer and 2 in the third. 
network = new NeuronalNetwork(2, 1, 3, 5, 2);
 
// 4 inputs, 2 outputs, 5 neurons in the hidden layer
network = new NeuronalNetwork(4, 2, 5);

Oh there was another question on ANNs where i also posted a link to my implementation. There you might get a better idea how it looks like.

ps: Yes, i know it’s called a “neural network” in english but “Neuronales Netzwerk” in german, So the class name ended up as some english-german mix ^^.

You might be interested in contacting the author of this video, who implemented neural networks in Unity: LSES: Large Scale Evolution Simulator, my take on Evolv.io - YouTube . As he did this as an experiment, he may be willing to share his code.

I don’t know how Neural network works, but I assume that you neural network will do calculation and your Unity project will output information. I think you need to create separate application on C# or Java that has libs for neural networking and your Unity project will send your input via WWW or Sockets and get output.