Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Go
  3. onnx-go

onnx-go

MITGov0.5.0

A Go interface for importing and executing pre-trained ONNX neural network models without framework dependencies.

Visit WebsiteGitHubGitHub
903 stars83 forks0 contributors

What is onnx-go?

onnx-go is a Go package that decodes ONNX (Open Neural Network Exchange) binary models into executable computation graphs. It enables Go developers to integrate machine learning capabilities into their applications by leveraging pre-trained models from the ONNX Model Zoo, without requiring deep data science expertise.

Target Audience

Go developers who need to add machine learning capabilities to their code, particularly those wanting to use pre-trained neural network models without extensive data science knowledge.

Value Proposition

Developers choose onnx-go because it provides a backend-agnostic design for pluggable execution backends, includes a reference backend using Gorgonia, and focuses on seamless model import and execution within Go ecosystems, abstracting away framework complexities.

Overview

onnx-go gives the ability to import a pre-trained neural network within Go without being linked to a framework or library.

Use Cases

Best For

  • Integrating pre-trained ONNX models from the ONNX Model Zoo into Go applications.
  • Decoding ONNX binary models into structured computation graphs for inspection and analysis.
  • Using Gorgonia as a backend for executing neural network models in Go.
  • Running specific pre-trained models like Tiny YOLO v2 for tasks such as image analysis.
  • Building machine learning features in Go without deep data science expertise.
  • Developing backend-agnostic systems that allow integration with different computation engines.

Not Ideal For

  • Projects requiring full ONNX specification support, including model export capabilities
  • Teams needing to run a wide variety of complex ONNX models with unsupported operators
  • Applications where API stability and production readiness are critical due to experimental interfaces
  • Environments demanding deep, hands-on data science integration beyond pre-trained model execution

Pros & Cons

Pros

ONNX Model Decoding

Efficiently decodes ONNX binary models into structured computation graphs, enabling seamless integration of pre-trained models into Go applications without deep data science knowledge.

Backend-Agnostic Design

Provides pluggable interfaces for execution backends, allowing flexibility to integrate with different computation engines like Gorgonia or custom implementations.

Gorgonia Integration

Includes a reference backend using Gorgonia for graph execution, with ongoing expansion of operator support and compatibility with the ONNX Model Zoo, as shown in examples.

Model Zoo Compatibility

Supports running pre-trained models from the ONNX Model Zoo, with practical examples like Tiny YOLO v2 for tasks such as image analysis.

Cons

Limited Operator Coverage

The Gorgonia backend lacks implementation for many ONNX operators, so most models from the Model Zoo may not work, as admitted in the README's coverage documentation.

No Export Functionality

Only supports importing ONNX models; exporting models to ONNX format is explicitly stated as non-existent, restricting use cases to inference-only scenarios.

Experimental and Unstable API

The API is marked as experimental and subject to change, leading to potential breaking updates and instability for long-term projects.

Revival Phase Risks

The project was archived and recently revived by a new maintainer, so documentation and support may be inconsistent, with possible unresolved issues during transition.

Frequently Asked Questions

Quick Stats

Stars903
Forks83
Contributors0
Open Issues37
Last commit1 year ago
CreatedSince 2018

Tags

#open-source#neural-network#deep-learning#neural-networks#go-library#computation-graph#gorgonia#onnx#go#machine-learning#protobuf

Built With

P
Protocol Buffers
G
Go

Links & Resources

Website

Included in

Go169.1k
Auto-fetched 7 hours ago

Related Projects

GoLearnGoLearn

Machine Learning for Go

Stars9,442
Forks1,169
Last commit2 years ago
gorgoniagorgonia

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

Stars5,923
Forks450
Last commit1 year ago
gosseractgosseract

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

Stars3,124
Forks307
Last commit6 months ago
m2cgenm2cgen

Transform ML models into a native code (Java, C, Python, Go, JavaScript, Visual Basic, C#, R, PowerShell, PHP, Dart, Haskell, Ruby, F#, Rust) with zero dependencies

Stars2,994
Forks264
Last commit1 year ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub