Machine learning with GOlang

This page summarizes the projects mentioned and recommended in the original post on /r/golang

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • go-ml-benchmarks

    ⏱ Benchmarks of machine learning inference for Go

  • Tabular data is well supported in Go. Tabular data and small sample sizes is a sweet spot for Go. You may squeze in some meaningful performance and good looking code and integrations. Some entry points: (1) https://github.com/nikolaydubina/go-ml-benchmarks (2) https://github.com/dmitryikh/leaves (3) https://github.com/nikolaydubina/go-featureprocessing

  • leaves

    pure Go implementation of prediction part for GBRT (Gradient Boosting Regression Trees) models from popular frameworks

  • Tabular data is well supported in Go. Tabular data and small sample sizes is a sweet spot for Go. You may squeze in some meaningful performance and good looking code and integrations. Some entry points: (1) https://github.com/nikolaydubina/go-ml-benchmarks (2) https://github.com/dmitryikh/leaves (3) https://github.com/nikolaydubina/go-featureprocessing

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • go-featureprocessing

    🔥 Fast, simple sklearn-like feature processing for Go

  • Tabular data is well supported in Go. Tabular data and small sample sizes is a sweet spot for Go. You may squeze in some meaningful performance and good looking code and integrations. Some entry points: (1) https://github.com/nikolaydubina/go-ml-benchmarks (2) https://github.com/dmitryikh/leaves (3) https://github.com/nikolaydubina/go-featureprocessing

  • Yeah its pretty unofficial and unsupported. Honestly, I am not sure why they even include it on the tensorflow.org site. If you want to serve stuff via golang it's honestly better to just use cgo and wrap tflite. TF Lite C bindings are pretty stable and if you are using Go then you probably don't have CUDA support anyway. I have hacked together a really basic example https://derekg.github.io/tflite.html and https://github.com/derekg/tflite-golang-gan-example of Golang + TF Lite for serving.

  • tensorflow

    An Open Source Machine Learning Framework for Everyone

  • Yeah its pretty unofficial and unsupported. Honestly, I am not sure why they even include it on the tensorflow.org site. If you want to serve stuff via golang it's honestly better to just use cgo and wrap tflite. TF Lite C bindings are pretty stable and if you are using Go then you probably don't have CUDA support anyway. I have hacked together a really basic example https://derekg.github.io/tflite.html and https://github.com/derekg/tflite-golang-gan-example of Golang + TF Lite for serving.

  • nett

    A short and sweet neural network library.

  • I've used it to learn how to implement certain matrix ops and backprop by hand. Tis a good exercise actually, to try and build a functioning neural network without any dependencies (https://github.com/sno6/nett).

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts