Active Hackathon

Top 8 Machine Learning Libraries In Go Language

Created by Google researchers, Go is a popular open-source programming language. The language includes many intuitive features, including a garbage collector, cross-platform, efficient concurrency, among others.

According to the Stack Overflow Developer Survey 2020, Go language is not only the fifth most loved programming language but also fetches the programmers the third-highest salary among other languages. 


Sign up for your weekly dose of what's up in emerging technology.

Below here, we list down the top machine learning libraries in Go language.

(The libraries are listed according to the number of Stars in GitHub).

1| GoLearn

Stars: 7.3k

About: GoLearn is one of the most popular libraries in the Go language. It is also known as the ‘batteries included’ machine learning library for Go. It aims to contribute simplicity paired with customizability. Some of its features are-

  • The library includes helper functions for data like cross-validation, train splitting as well as test splitting. 
  • It is similar to the popular Scikit-learn library in Python as it implements the Scikit-learn interface of Fit/Predict. 
  • This library comes with practical examples.

Know more here.

2| Gorgonia

Stars: 3.5k

About: Gorgonia helps in facilitating machine learning entirely in Go. The primary goal of this library is to be a highly performant machine learning as well as graph computation-based library that can scale across multiple machines. It also contributes a platform for the exploration of non-standard deep-learning as well as neural network-related research. It can perform processes like neo-Hebbian learning, corner-cutting algorithms, among others. Some of its features are-

  • Gorgonia can perform automatic differentiation, symbolic differentiation, gradient descent optimisations and numerical stabilisation. 
  • The library provides many convenience functions to help create neural networks.
  • It supports CUDA and GPGPU computation.

Know more here.

3| goml

Stars: 1.1k

About: goml is a machine learning library written entirely in Go language which allows developers to include machine learning into their applications. The library consists of various models which help in learning in an online as well as the reactive manner by passing data to streams held on channels. Some of the features of this library include-

  • Comprehensive tests
  • Extensive documentation
  • Modular source code
  • Clean and expressive.

Know more here.

4| eaopt

Stars: 693

About: eaopt is an evolutionary optimisation library written in Go language. It allows one to write most of the evolutionary optimisation algorithms as special cases of a genetic algorithm. Some of its features include-

  • In this library, various evolutionary algorithms are available with a consistent API
  • One can practically do anything by using the GA struct.
  • Speciation and migration procedures are available.
  • Common genetic operators, including mutation, crossover, migration, among others, are already implemented.
  • It allows the evaluation of costlier functions to be done in a parallel manner. 

Know more here.

5| Evo

Stars: 104

About: Evo is a general framework for implementing evolutionary algorithms in Go. The framework exposes a clean and flexible API oriented around two interfaces —  genome and population. Genomes represent both the function being optimised and the representation of solutions, while populations represent the architecture under which genomes are evolved.  Some of its features are-

  • Clean and flexible API oriented.
  • The library can be used for writing modular web applications in Golang aimed at both backend and frontend.
  • It is modular and extensible.
  • It ensures high performance.

Know more here.

6| goga

Stars: 89

About: It is a genetic algorithm solution written in Golang. It is used and configured by injecting different behaviours into the main genetic algorithm object. It consists of three components — simulator, selector and mater.

The simulator provides a function that accepts a single genome and assigns a fitness score to it. The selector object takes a population of genomes and the total fitness and returns a genome from the population that it has chosen. In contrast, the mater accepts two genomes from the selector and combines them to produce two others. 

Know more here.

7| gogl

Stars: 60

About: gogl is a graph library written in Go language. This library aims to contribute simple, unifying interfaces, including implementations of graph algorithms and data structures that can scale from small graphs to huge graphs. The features of this library include-

  • Simplicity: gogl has fully and correctly modelling graph theoretic concepts 
  • Performance: Gogl has faster design constraints and allows the best-known algorithms.
  • Functional: The library orient towards transforms, functors, and streams; achieve other styles through layering.
  • Other features include extensibility, correctness, among others.

Know more here.

8| GoMind

Stars: 7

About: GoMind is a Neural Network (NN) library that is written entirely in Go. Currently, the library only supports a single hidden layer, and it will support multi-layer soon. In GoMind, the network learns from a training set using the back-propagation algorithm. Some of its features include-

  • GoMind supports activation functions like Sigmoid, ReLU, Leaky ReLU, among others.
  • The library estimates the ideal number of hidden layer neurons for a given input and output sizes if a count is not given during model configuration.
  • GoMind uses Mean Squared Error function to calculate error while back-propagating. 

Know more here.

More Great AIM Stories

Ambika Choudhury
A Technical Journalist who loves writing about Machine Learning and Artificial Intelligence. A lover of music, writing and learning something out of the box.

Our Upcoming Events

Conference, Virtual
Genpact Analytics Career Day
3rd Sep

Conference, in-person (Bangalore)
Cypher 2022
21-23rd Sep

Conference, in-person (Bangalore)
Machine Learning Developers Summit (MLDS) 2023
19-20th Jan, 2023

Conference, in-person (Bangalore)
Data Engineering Summit (DES) 2023
21st Apr, 2023

Conference, in-person (Bangalore)
MachineCon 2023
23rd Jun, 2023

3 Ways to Join our Community

Discord Server

Stay Connected with a larger ecosystem of data science and ML Professionals

Telegram Channel

Discover special offers, top stories, upcoming events, and more.

Subscribe to our newsletter

Get the latest updates from AIM

Council Post: How to Evolve with Changing Workforce

The demand for digital roles is growing rapidly, and scouting for talent is becoming more and more difficult. If organisations do not change their ways to adapt and alter their strategy, it could have a significant business impact.

All Tech Giants: On your Mark, Get Set – Slow!

In September 2021, the FTC published a report on M&As of five top companies in the US that have escaped the antitrust laws. These were Alphabet/Google, Amazon, Apple, Facebook, and Microsoft.

The Digital Transformation Journey of Vedanta

In the current digital ecosystem, the evolving technologies can be seen both as an opportunity to gain new insights as well as a disruption by others, says Vineet Jaiswal, chief digital and technology officer at Vedanta Resources Limited

BlenderBot — Public, Yet Not Too Public

As a footnote, Meta cites access will be granted to academic researchers and people affiliated to government organisations, civil society groups, academia and global industry research labs.