Popularity
3.0
Stable
Activity
0.0
Declining
31
6
6

Programming language: Go
Tags: Machine Learning    
Latest version: v0.1

Varis alternatives and similar packages

Based on the "Machine Learning" category

Do you think we are missing an alternative of Varis or a related project?

Add another 'Machine Learning' Package

README

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


*Note that all licence references and agreements mentioned in the Varis README section above are relevant to that project's source code only.