A Go library implementing feedforward/backpropagation neural networks with support for multiple activation functions, solvers, and classification modes.
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.
Go developers and students interested in understanding neural network fundamentals or prototyping small-scale machine learning models without GPU dependencies.
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.
Artificial Neural Network
Models networks as neurons and synapses, making it intuitive for learning neural network fundamentals, as highlighted in the README's philosophy section.
Includes SGD, SGD with momentum/nesterov, and Adam optimizers, providing versatility for different training scenarios, as listed in the key features.
Supports configurable worker counts for batch training, improving performance on CPU for modest datasets, demonstrated in the usage examples with NewBatchTrainer.
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.
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.'
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.
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.
Machine Learning for Go
Gorgonia is a library that helps facilitate machine learning in Go.
Go package for OCR (Optical Character Recognition), by using Tesseract C++ library
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
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.