You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fonet is a deep neural network package for Go. It's mainly created because I wanted to learn about neural networks and create my own package. I'm planning to continue the development of the package and add more function to it, for example exporting/importing a model.
Install
It's the same as everywhere, you just have to run the
go get github.com/Fontinalis/fonet
Usage
I focused (and still focusing) on creating an easy to use package, but let me know if something is not clear.
Creating a network
As in the xor example, it's not so complicated to create a network.
When you creating the network, you always have to define the layers.
n:=fonet.NewNetwork([]int{2, 3, 1}, fonet.Sigmond)
/*2 nodes in the INPUT LAYER3 nodes in the HIDDEN LAYER1 node in the OUTPUT LAYER*/
But my goal was also to create a package, which can create deep neural networks too, so here is another example for that.
n:=fonet.NewNetwork([]int{6, 12, 8, 4}, fonet.Sigmond)
/*6 nodes in the INPUT LAYER12 nodes in the HIDDEN LAYER (1)8 nodes in the HIDDEN LAYER (2)4 nodes in the OUTPUT LAYER*/
Train the network
After creating the network, you have to train your network. To do that, you have to specify your training set, which should be like the next
vartrainingData= [][][]float64{
[][]float64{ // The actual training sample
[]float64{
/* The INPUT data */
},
[]float64{
/* The OUTPUT data */
},
},
}
After giving the training data, you can set the epoch and the learning rate.