Go Machine Learning

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

Top 23 Go Machine Learning Projects

  • GitHub repo PhotoPrism

    Photos App powered by Go and Google TensorFlow 🌈 ✨

    Project mention: Ask HN: What is your system for backing up family photos and video? | news.ycombinator.com | 2022-01-18

    Haven't used it yet, but want to set it up when I get some free time:


  • 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
  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • GitHub repo caire

    Content aware image resize library

    Project mention: CAIRE - content aware image resizing library supporting GUI mode | reddit.com/r/golang | 2021-12-15
  • GitHub repo GoLearn

    Machine Learning for Go

    Project mention: Multi-layer neural network from scratch in Go | reddit.com/r/learnmachinelearning | 2021-12-18

    If you're curious about a more robust machine learning library in Go, https://github.com/sjwhitworth/golearn is a quite feature-rich option.

  • GitHub repo cortex

    Production infrastructure for machine learning at scale

    Project mention: Why ML should be written as pipelines from the get-go | dev.to | 2021-12-06

    Technologies: Flask/FastAPI, Kubernetes, Docker, Cortex, Seldon

  • 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: What type of software do you write at your workplace? | reddit.com/r/golang | 2022-01-17

    p/s I am the main contributor to Gorgonia which is a pure Go deep learning library that somewhat predates TensorFlow

  • SonarLint

    Deliver Cleaner and Safer Code - Right in Your IDE of Choice!. SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.

  • 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
  • GitHub repo gophernotes

    The Go kernel for Jupyter notebooks and nteract.

    Project mention: Is there a program or plugin in that's similar to jupyter notebooks or google collab for Go lang? | reddit.com/r/golang | 2021-12-16
  • 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: We just got funded for an open-source project | reddit.com/r/opensource | 2022-01-15

    If you prefer go, may be have a look at https://github.com/semi-technologies/weaviate

  • 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 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 gosseract

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

  • 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 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 2022-01-18.

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 PhotoPrism 18,621
2 argo 10,230
3 caire 9,800
4 GoLearn 8,174
5 cortex 7,643
6 gorse 5,122
7 Gorgonia 4,348
8 pigo 3,570
9 olivia 3,180
10 gophernotes 3,139
11 lgo 2,222
12 Stats 2,216
13 volcano 2,160
14 Weaviate 2,113
15 tfgo 1,868
16 hercules 1,653
17 gosseract 1,638
18 goml 1,298
19 vearch 1,278
20 spaGO 1,077
21 kube-batch 905
22 gago 768
23 dataframe-go 730
Find remote jobs at our new job board 99remotejobs.com. There are 29 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
OPS - Build and Run Open Source Unikernels
Quickly and easily build and deploy open source unikernels in tens of seconds. Deploy in any language to any cloud.