Awesome Go

Varis

CategoryMachine Learning
SubcategoryMachine Learning
Stars0

Golang Neural Network

About Varis

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

  • All neurons and synapses are goroutines.
  • Golang channels for connecting neurons.
  • No dependencies

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

  • Add locks
  • Add training channels
  • Improve speed
  • Add error return to functions.
  • Create more tests and benchmarks.
  • Create server and cli realization for use Varis as a application

Alternatives

gonn | go-mind | go-perceptron-go

Frequently Asked Questions

What is Varis?

Varis is a Machine Learning library for the Go programming language. Golang Neural Network

How do I install Varis?

Install Varis with the Go module system using `go get Xamber/Varis`. Check the repository for the current installation instructions.

What category does Varis belong to?

Varis is listed under Machine Learning, specifically Machine Learning.

← Back to Machine Learning