GitHub - Xamber/Varis: Golang Neural Network (original) (raw)

Gopher from internet =)

Varis

Neural Networks with GO

Build Status Go Report Card API Reference codecov MIT License Release

About Package

Some time ago I decided to learn Go language and neural networks. So it's my variation of Neural Networks library. I tried to make library for programmers (not for mathematics).

For now Varis is 0.1 version.

I would be happy if someone can find errors and give advices. Thank you. Artem.

Main features

Installation

go get github.com/Xamber/Varis

Usage

package main

import ( "github.com/Xamber/Varis" )

func main() { net := varis.CreatePerceptron(2, 3, 1)

dataset := varis.Dataset{
    {varis.Vector{0.0, 0.0}, varis.Vector{1.0}},
    {varis.Vector{1.0, 0.0}, varis.Vector{0.0}},
    {varis.Vector{0.0, 1.0}, varis.Vector{0.0}},
    {varis.Vector{1.0, 1.0}, varis.Vector{1.0}},
}

trainer := varis.PerceptronTrainer{
    Network: &net,
    Dataset: dataset,
}

trainer.BackPropagation(10000)
varis.PrintCalculation = true

net.Calculate(varis.Vector{0.0, 0.0}) // Output: [0.9816677167418877]
net.Calculate(varis.Vector{1.0, 0.0}) // Output: [0.02076530509106318]
net.Calculate(varis.Vector{0.0, 1.0}) // Output: [0.018253250887023762]
net.Calculate(varis.Vector{1.0, 1.0}) // Output: [0.9847884089930481]

}

Roadmap 0.2-0.5

Alternatives

gonn | go-mind | go-perceptron-go