⚠️🚧 This site is currently under construction. Documentation is actively being written and expected to be released along with the next GoMLX release v0.28.0. 🚧⚠️
Machine learning for Go

Build ML models
at Go speed.

A rich machine learning and accelerated math framework natively for Go. Think Jax, TensorFlow, or PyTorch, but completely Python-free. Build JIT-compiled computation graphs and execute them at scale with an OpenXLA-accelerated backend, or deploy anywhere using the pure Go backend.

Runs on CPU · GPU · TPU via XLA  ·  Apache 2.0  ·  Go 1.25+

Everything you need.
Nothing you don't.

Rich layers API

Dense, Conv, Attention, BatchNorm, Dropout, Embeddings — all in one package, composable, easy to extend with custom layers.

Modular design

Swap backends, optimizers, and data pipelines independently. Use just the graph layer, or the full training stack — your choice.

XLA acceleration

Compile your model graph once to XLA. The same Go code runs on CPU, NVIDIA GPU, and Google TPU without modification. Full JIT compilation, kernel fusion, and memory optimization built in.

Learn about backends →

Pure Go

One go get, no virtual environments, no Python runtime, no version conflicts. Just idiomatic Go that your whole team already knows.

Live plotting

Built-in Gonb/Jupyter integration plots training metrics in real time. Loss curves, accuracy, custom metrics — all without leaving Go.

Questions? Join the conversation.

Ask on the #gomlx Slack channel, open a GitHub issue, or contribute an example. The library is actively maintained and the community is growing.

-- GitHub stars
-- Forks
v0.28.x Latest release
Apache 2 License