A Machine Learning library written in pure Go designed to support relevant neural architectures in Natural Language Processing. Spago is self-contained, in that it uses its own lightweight computational graph both for training and inference, easy to understand from start to finish. The core module of Spago relies only on testify for unit testing. In other words, it has "zero dependencies", and we are committed to keeping it that way as much as possible. Spago uses a multi-module workspace to ensure that additional dependencies are downloaded only when specific features (e.g. persistent embeddings) are used. A good place to start is by looking at the implementation of built-in neural models, such as the LSTM. Except for a few linear algebra operations written in assembly for optimal performance (a bit of copying from Gonum), it's straightforward Go code, so you don't have to worry.

Features

  • Automatic differentiation via dynamic define-by-run execution
  • Gradient descent optimizers (Adam, RAdam, RMS-Prop, AdaGrad, SGD)
  • Feed-forward layers (Linear, Highway, Convolution...)
  • Recurrent layers (LSTM, GRU, BiLSTM...)
  • Attention layers (Self-Attention, Multi-Head Attention...)
  • Gob compatible neural models for serialization

Project Samples

Project Activity

See All Activity >

License

BSD License

Follow spaGO

spaGO Web Site

Other Useful Business Software
Build Data Resilience - Take the Assessment Today Icon
Build Data Resilience - Take the Assessment Today

Can you recover when it matters most? Take this quick assessment to identify gaps and build greater recovery confidence.

Is your recovery strategy as strong as you think? Take this quick self-assessment to check your recovery readiness and gain tailored insights. In only 2 minutes, you'll learn where you fall on the recovery readiness scale.
Take the Assessment
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of spaGO!

Additional Project Details

Programming Language

Go

Related Categories

Go Libraries, Go Machine Learning Software, Go Natural Language Processing (NLP) Tool, Go LLM Inference Tool

Registered

2022-08-17