Go Machine Learning

Open-source Go projects categorized as Machine Learning | Edit details

Top 23 Go Machine Learning Projects

  • GitHub repo argo

    Workflow engine for Kubernetes

    Project mention: Setting up an order in which containers would start | reddit.com/r/kubernetes | 2021-10-29
  • GitHub repo caire

    Content aware image resize library

    Project mention: The amazing Grant Sanderson (3Blue1Brown) demonstrates seam carving in Julia. | reddit.com/r/programming | 2021-04-17

    I have developed Caire, a library for content aware image resizing supporting also face distortion avoidance + a lot of other features. https://github.com/esimov/caire

  • Scout APM

    Scout APM: A developer's best friend. Try free for 14-days. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.

  • GitHub repo GoLearn

    Machine Learning for Go

  • GitHub repo gorse

    An open source recommender system service written in Go

    Project mention: An open source recommender system service written in Go | reddit.com/r/neuralnetworks | 2021-07-17
  • GitHub repo Gorgonia

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

    Project mention: 16GB vs 32GB RAM M1 Pro MacBook - Multitasking RAM Test | reddit.com/r/apple | 2021-10-31

    Also check out the (Gorgonia)[https://github.com/gorgonia/gorgonia] project if you're not familiar with ML in Go, it's a lot of fun and our basis (with contributions back of course =D)

  • GitHub repo pigo

    Fast face detection, pupil/eyes localization and facial landmark points detection library in pure Go.

    Project mention: I'm looking for a Go computer vision package that isn't GoCV. | reddit.com/r/golang | 2021-10-16
  • GitHub repo olivia

    💁‍♀️Your new best friend powered by an artificial neural network

    Project mention: Open source Alexa/Siri? or just voice to text? | reddit.com/r/opensource | 2021-05-26
  • Nanos

    Run Linux Software Faster and Safer than Linux with Unikernels.

  • GitHub repo gophernotes

    The Go kernel for Jupyter notebooks and nteract.

    Project mention: Why Lisp? | news.ycombinator.com | 2021-11-12

    > You do know that statically typed languages have REPLs too? Like the ML family, including Haskell.

    I do, but that I don't see how that relates to the bit of my post which you've quoted. I certainly didn't claim or imply that REPL and static type systems were mutually exclusive, only that REPLs are a poor substitute for many static analysis tasks.

    > And when using something like a Jupyter notebook with a kernel for your compiled language https://github.com/gopherdata/gophernotes you can do similar interactive programming.

    Yeah, I'm aware. I operate a large JupyterHub cluster (among many other things) at work. :)

    > Lisp REPLs take that a step further, as you interact with and in your whole actually running program.

    That sounds nice, but it's too abstract to persuade IMHO.

  • GitHub repo lgo

    Interactive Go programming with Jupyter

  • GitHub repo Stats

    A well tested and comprehensive Golang statistics library package with no dependencies. (by montanaflynn)

  • GitHub repo volcano

    A Cloud Native Batch System (Project under CNCF)

    Project mention: My Journey With Spark On Kubernetes... In Python (1/3) | dev.to | 2021-04-12

    For our experiments, we will use Volcano which is a batch scheduler for Kubernetes, well-suited for scheduling Spark applications pods with a better efficiency than the default kube-scheduler. The main reason is that Volcano allows "group scheduling" or "gang scheduling": while the default scheduler of Kubernetes schedules containers one by one, Volcano ensures that a gang of related containers (here, the Spark driver and its executors) can be scheduled at the same time. If for any reason it is not possible to deploy all the containers in a gang, Volcano will not schedule that gang. This article explains in more detail the reasons for using Volcano.

  • GitHub repo Weaviate

    Weaviate is a cloud-native, modular, real-time vector search engine

    Project mention: [D] Are you seeing any compelling use cases of semantic search being leveraged at scale? | reddit.com/r/MachineLearning | 2021-11-29

    Weaviate docs

  • GitHub repo tfgo

    Tensorflow + Go, the gopher way

    Project mention: What libraries from other languages do you wish were ported over into go? | reddit.com/r/golang | 2021-07-27

    Tensorflow is actually written in C++, and the python package is just bindings to tensorflow. There are Tensorflow Go bindings: https://github.com/galeone/tfgo.

  • GitHub repo gosseract

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

  • GitHub repo hercules

    Gaining advanced insights from Git repository history.

    Project mention: Show HN: Simple way to access various statistics in Git repository | news.ycombinator.com | 2021-04-29

    I do like burndown chart showing code as layers over time https://github.com/src-d/hercules#project-burndown

    Like other stats, it is not to be taken too seriously on early projects where re-linting or moving lines around may show as dropping all old code...

  • GitHub repo goml

    On-line Machine Learning in Go (and so much more)

    Project mention: I'm looking for a Go computer vision package that isn't GoCV. | reddit.com/r/golang | 2021-10-16

    I've been meaning to try GoML and Goro, the latter being based on Gorgonia. No idea how relevant either are to your needs.

  • GitHub repo vearch

    A distributed system for embedding-based vector retrieval

    Project mention: Any database implementation from vector data search? | reddit.com/r/rust | 2021-05-28

    https://github.com/vearch/vearch this is one of the implementation

  • GitHub repo spaGO

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

    Project mention: Run Hugging Face Models in Go | news.ycombinator.com | 2021-12-01
  • GitHub repo kube-batch

    A batch scheduler of kubernetes for high performance workload, e.g. AI/ML, BigData, HPC

    Project mention: Scaling Kubernetes to 7,500 Nodes | news.ycombinator.com | 2021-01-25

    > That said, strain on the kube-scheduler is spiky. A new job may consist of many hundreds of pods all being created at once, then return to a relatively low rate of churn.

    Last I checked, the default scheduler places Pods one at a time. It might be advantageous to use a gang/batch scheduler like kube-batch[0], Poseidon[1] or DCM[2].

    [0] https://github.com/kubernetes-sigs/kube-batch

    [1] https://github.com/kubernetes-sigs/poseidon

    [2] https://github.com/vmware/declarative-cluster-management

  • GitHub repo gago

    :four_leaf_clover: Evolutionary optimization library for Go (genetic algorithm, partical swarm optimization, differential evolution)

  • GitHub repo bayesian

    Naive Bayesian Classification for Golang.

  • GitHub repo CloudForest

    Ensembles of decision trees in go/golang.

    Project mention: [D] Best methods for imbalanced multi-class classification with high dimensional, sparse predictors | reddit.com/r/MachineLearning | 2021-07-19

    The best method i've seen for dealing with this bias is to create "artificial contrasts" by including possibly many permutated copies of each feature and then doing a statistical test of the random forest importance values for each feature vs its shuffled contrasts. This method is described here: https://www.jmlr.org/papers/volume10/tuv09a/tuv09a.pdf and there is an implementation here: https://github.com/ryanbressler/CloudForest

  • GitHub repo dataframe-go

    DataFrames for Go: For statistics, machine-learning, and data manipulation/exploration

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-12-01.

Go Machine Learning related posts


What are some of the best open-source Machine Learning projects in Go? This list will help you:

Project Stars
1 argo 9,899
2 caire 9,736
3 GoLearn 8,087
4 gorse 4,995
5 Gorgonia 4,262
6 pigo 3,525
7 olivia 3,105
8 gophernotes 3,091
9 lgo 2,222
10 Stats 2,185
11 volcano 2,088
12 Weaviate 1,936
13 tfgo 1,838
14 gosseract 1,614
15 hercules 1,499
16 goml 1,265
17 vearch 1,247
18 spaGO 996
19 kube-batch 894
20 gago 757
21 bayesian 715
22 CloudForest 696
23 dataframe-go 668
Find remote jobs at our new job board 99remotejobs.com. There are 32 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives