GoNN is an implementation of Neural Network in Go Language, which includes BPNN, RBF, PCN

GoNN GoDoc

Neural Network in GoLang

Feature

  • BackPropagation Network / RBF Network / Perceptron Network
  • Parallel BackPropagation Network (each neural has its own go-routine)

Benchmark

  • Dataset: MNIST Acurrency Rate : 98.2% (800 hidden nodes)
  • Actually, you can get 96.9% using 100 hidden nodes in just three minutes of training

TODO

  • currently, the parallel version is much slower than the tranditional one, maybe caused by the cost of context switch of threads
Owner
Sun Junyi
sjy.eth
Sun Junyi
Similar Resources

Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.

Learn how to design large-scale systems. Prep for the system design interview.  Includes Anki flashcards.

English ∙ 日本語 ∙ 简体中文 ∙ 繁體中文 | العَرَبِيَّة‎ ∙ বাংলা ∙ Português do Brasil ∙ Deutsch ∙ ελληνικά ∙ עברית ∙ Italiano ∙ 한국어 ∙ فارسی ∙ Polski ∙ русский язы

Jan 9, 2023

A multilayer perceptron network implemented in Go, with training via backpropagation.

Neural Go I'm in the process of making significant changes to this package, particularly, to make it more modular, and to base it around an actual lin

Sep 27, 2022

Generative Adversarial Network in Go via Gorgonia

Generative Adversarial Network in Go via Gorgonia

Generative adversarial networks Recipe for simple GAN in Golang ecosystem via Gorgonia library Table of Contents About Why Instruments Usage Code expl

Dec 2, 2022

Tpu-traffic-classifier - This small program creates ipsets and iptables rules for nodes in the Solana network

TPU traffic classifier This small program creates ipsets and iptables rules for

Nov 23, 2022

A program that generates a folder structure with challenges and projects for mastering a programming language.

Challenge Generator A program that generates a folder structure with challenges and projects for mastering a programming language. Explore the docs »

Aug 31, 2022

GoPlus - The Go+ language for engineering, STEM education, and data science

The Go+ language for engineering, STEM education, and data science Summary about Go+ What are mainly impressions about Go+? A static typed language. F

Jan 8, 2023

Self-contained Machine Learning and Natural Language Processing library in Go

Self-contained Machine Learning and Natural Language Processing library in Go

Self-contained Machine Learning and Natural Language Processing library in Go

Jan 8, 2023

Bcfm-study-case - A simple http server using the Echo library in Go language

Bcfm-study-case - A simple http server using the Echo library in Go language

Task 1 Hakkında Burada Go dilinde Echo kütüphanesini kullanarak basit bir http s

Feb 2, 2022

k-modes and k-prototypes clustering algorithms implementation in Go

go-cluster GO implementation of clustering algorithms: k-modes and k-prototypes. K-modes algorithm is very similar to well-known clustering algorithm

Nov 29, 2022
Comments
  • How to read the multi-layer perceptrons model in Golang written using python

    How to read the multi-layer perceptrons model in Golang written using python

    I am using the wrapper of scikit-learn Multilayer Perceptron in Python https://github.com/aigamedev/scikit-neuralnetwork to train the neural network and save it to a file. Now, I want to expose it on production to predict in real time. So, I was thinking to use Golang for better concurrency than Python. Hence, my question is whether can we read the model using this library written using Python or above wrapper? The code below I am using for training the model and last three lines I want to port to GOLang to expose it on production

    import pickle
    import numpy as np
    import pandas as pd
    from sknn.mlp import Classifier, Layer
    from sklearn.model_selection import train_test_split
    from sklearn.metrics import accuracy_score
    
    f = open("TrainLSDataset.csv")
    data = np.loadtxt(f,delimiter = ',')
    
    x = data[:, 1:]
    y = data[:, 0]
    X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.3)
    
    nn = Classifier(
        layers=[            	    
            Layer("Rectifier", units=5),
            Layer("Softmax")],
        learning_rate=0.001,
        n_iter=100)
    
    nn.fit(X_train, y_train)
    filename = 'finalized_model.txt'
    pickle.dump(nn, open(filename, 'wb'))
    
    **#Below code i want to write in GoLang for exposing it on Production** :
    loaded_model = pickle.load(open(filename, 'rb'))
    result = loaded_model.score(X_test, y_test)
    y_pred = loaded_model.predict(X_test)
    
    
    
  • Question about channels / go-routines

    Question about channels / go-routines

    Cool project :)

    Just wondering: So, you are not using any go-routines or channels, to do the threading (didn't see any, in my very brief look)?

    I have been testing a bit with how to speedup stuff that passes around strings between threads, and found it very useful to set up the size for the buffers in the channels ... to something like 512 items etc ...

    (I wrote up a bit about my experiment here: http://saml.rilspace.org/go-speedup-with-threading-for-line-by-line-string-processing ... and the threaded code is here: https://gist.github.com/samuell/5829991 )

    Also, I heard that it is adviseable to set runtime.GOMAXPROCS to number of cores - 1, as a rule of thumb (maybe you do that already, so just saying, just in case) ...

Neural Network for Go.

gonet gonet is a Go module implementing multi-layer Neural Network. Install Install the module with: go get github.com/dathoangnd/gonet Import it in

Nov 25, 2022
onnx-go gives the ability to import a pre-trained neural network within Go without being linked to a framework or library.
onnx-go gives the ability to import a pre-trained neural network within Go without being linked to a framework or library.

This is a Go Interface to Open Neural Network Exchange (ONNX). Overview onnx-go contains primitives to decode a onnx binary model into a computation b

Dec 24, 2022
Golang Neural Network
Golang Neural Network

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

Sep 27, 2022
A neural network library built in Go

go-mind A neural network library built in Go. Usage import "github.com/stevenmiller888/go-mind" m := mind.New(0.7, 10000, 3, "sigmoid") m.Learn([][]

Aug 27, 2022
Example of Neural Network models of social and personality psychology phenomena

SocialNN Example of Neural Network models of social and personality psychology phenomena This repository gathers a collection of neural network models

Dec 5, 2022
Neural network in Go

network Package network is a simple implementation of a nonbiased neural network. The networks created by this package can be trained with backpropaga

Nov 25, 2021
Go (Golang) encrypted deep learning library; Fully homomorphic encryption over neural network graphs

DC DarkLantern A lantern is a portable case that protects light, A dark lantern is one who's light can be hidden at will. DC DarkLantern is a golang i

Oct 31, 2022
An implementation of Neural Turing Machines
An implementation of Neural Turing Machines

Neural Turing Machines Package ntm implements the Neural Turing Machine architecture as described in A.Graves, G. Wayne, and I. Danihelka. arXiv prepr

Sep 13, 2022
Implementation of E(n)-Equivariant Graph Neural Networks, in Pytorch
Implementation of E(n)-Equivariant Graph Neural Networks, in Pytorch

EGNN - Pytorch Implementation of E(n)-Equivariant Graph Neural Networks, in Pytorch. May be eventually used for Alphafold2 replication.

Dec 23, 2022
Neural Networks written in go

gobrain Neural Networks written in go Getting Started The version 1.0.0 includes just basic Neural Network functions such as Feed Forward and Elman Re

Dec 20, 2022