Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Go
  3. go-deep

go-deep

MITGo

A Go library implementing feedforward/backpropagation neural networks with support for multiple activation functions, solvers, and classification modes.

GitHubGitHub
557 stars69 forks0 contributors

What is go-deep?

go-deep is a pure Go implementation of feedforward and backpropagation neural networks, designed for educational and small-scale machine learning tasks. It provides a straightforward API for building and training neural networks without GPU acceleration, making it suitable for prototyping and learning.

Target Audience

Go developers and students interested in understanding neural network fundamentals or prototyping small-scale machine learning models without GPU dependencies.

Value Proposition

Developers choose go-deep for its simplicity, clear modeling of neurons and synapses, and pure Go implementation that avoids GPU complexity, making it ideal for learning and lightweight applications.

Overview

Artificial Neural Network

Use Cases

Best For

  • Learning neural network fundamentals through a clear, neuron-and-synapse-based implementation in Go.
  • Prototyping small-scale machine learning models like binary or multi-class classifiers without GPU requirements.
  • Educational projects requiring hands-on experience with activation functions (sigmoid, tanh, ReLU) and optimizers (SGD, Adam).
  • Running parallel batch training on CPU for performance in modest datasets.
  • Implementing regression, multi-label, or binary classification tasks in Go applications.
  • Experimenting with neural network configurations like bias nodes and different weight initializers in a lightweight environment.

Not Ideal For

  • Applications requiring GPU acceleration for training on large datasets or complex models.
  • Projects needing advanced neural network architectures like convolutional neural networks (CNNs) or recurrent neural networks (RNNs).
  • Production systems where high-throughput inference and low latency are critical for real-time predictions.

Pros & Cons

Pros

Clear Educational Design

Models networks as neurons and synapses, making it intuitive for learning neural network fundamentals, as highlighted in the README's philosophy section.

Flexible Solver Options

Includes SGD, SGD with momentum/nesterov, and Adam optimizers, providing versatility for different training scenarios, as listed in the key features.

Parallel Batch Training

Supports configurable worker counts for batch training, improving performance on CPU for modest datasets, demonstrated in the usage examples with NewBatchTrainer.

Diverse Task Support

Handles regression, multi-class, multi-label, and binary classification with appropriate loss functions, offering broad applicability for small-scale ML tasks, as shown in the Config.Mode options.

Cons

No GPU Acceleration

Explicitly avoids GPU computations, severely limiting training speed and scalability for larger models, as warned in the README: 'don't use this for any large scale applications.'

Limited Network Architectures

Only implements basic feedforward networks, lacking support for modern architectures like CNNs or RNNs, which restricts its use in domains like image or sequence processing.

Sparse Ecosystem and Tooling

Compared to frameworks like TensorFlow or PyTorch, it has fewer pre-trained models, debugging tools, and community resources, making integration and advanced development more challenging.

Frequently Asked Questions

Quick Stats

Stars557
Forks69
Contributors0
Open Issues0
Last commit1 year ago
CreatedSince 2017

Tags

#feedforward-network#neural-network#deep-learning#classification#go-library#educational-tool#optimization-algorithms#golang#regression#machine-learning#backpropagation

Built With

G
Go

Included in

Go169.1k
Auto-fetched 21 hours ago

Related Projects

GoLearnGoLearn

Machine Learning for Go

Stars9,439
Forks1,172
Last commit2 years ago
gorgoniagorgonia

Gorgonia is a library that helps facilitate machine learning in Go.

Stars5,916
Forks450
Last commit1 year ago
gosseractgosseract

Go package for OCR (Optical Character Recognition), by using Tesseract C++ library

Stars3,111
Forks304
Last commit4 months ago
m2cgenm2cgen

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

Stars2,988
Forks263
Last commit1 year ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub