Varis alternatives and similar packages
Based on the "Machine Learning" category.
Alternatively, view Varis alternatives based on common mentions on social networks and blogs.
-
Gorgonia
Gorgonia is a library that helps facilitate machine learning in Go. -
m2cgen
Transform ML models into a native code (Java, C, Python, Go, JavaScript, Visual Basic, C#, R, PowerShell, PHP, Dart, Haskell, Ruby, F#, Rust) with zero dependencies -
gosseract
Go package for OCR (Optical Character Recognition), by using Tesseract C++ library -
gago
:four_leaf_clover: Evolutionary optimization library for Go (genetic algorithm, partical swarm optimization, differential evolution) -
ocrserver
A simple OCR API server, seriously easy to be deployed by Docker, on Heroku as well -
onnx-go
onnx-go gives the ability to import a pre-trained neural network within Go without being linked to a framework or library. -
shield
Bayesian text classifier with flexible tokenizers and storage backends for Go -
neat
Plug-and-play, parallel Go framework for NeuroEvolution of Augmenting Topologies (NEAT). -
go-featureprocessing
๐ฅ Fast, simple sklearn-like feature processing for Go -
neural-go
A multilayer perceptron network implemented in Go, with training via backpropagation. -
go-cluster
k-modes and k-prototypes clustering algorithms implementation in Go
Access the most powerful time series database as a service
Do you think we are missing an alternative of Varis or a related project?
Popular Comparisons
README
Varis
Neural Networks with GO
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
*Note that all licence references and agreements mentioned in the Varis README section above
are relevant to that project's source code only.