Fonet
fonet is a deep neural network package for Go.
Install / Use
/learn @Fontinalis/FonetREADME
fonet
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 LAYER
3 nodes in the HIDDEN LAYER
1 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 LAYER
12 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
var trainingData = [][][]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.
n.Train(trainingData, epoch, lrate, true)
// Train(trainingData [][][]float64, epochs int, lrate float64, debug bool)
Note: When 'debug' is true, it'll show when and which epoch is finished
Predict the output
After training your network, using the Predict(..) function you can calculate the output for the given input.
In the case of XOR, it looks like the next
input := []float64{
1,
1,
}
out := n.Predict(input)
Related Skills
xurl
343.1kA CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.
kubeshark
11.8kCluster-wide network observability for Kubernetes. Captures L4 packets, L7 API calls, and decrypted TLS traffic using eBPF, with full Kubernetes context. Available to AI agents via MCP and human operators via dashboard.
wanwu
4.1kChina Unicom's Yuanjing Wanwu Agent Platform is an enterprise-grade, multi-tenant AI agent development platform. It helps users build applications such as intelligent agents, workflows, and rag, and also supports model management. The platform features a developer-friendly license, and we welcome all developers to build upon the platform.
YC-Killer
2.7kA library of enterprise-grade AI agents designed to democratize artificial intelligence and provide free, open-source alternatives to overvalued Y Combinator startups. If you are excited about democratizing AI access & AI agents, please star ⭐️ this repository and use the link in the readme to join our open source AI research team.
