sonos/tract

Tiny, no-nonsense, self-contained, Tensorflow and ONNX inference

View on GitHub ↗Jump to charts ↓Open shareable report →

Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 22 minutes ago
Added to GitGenius on September 22nd, 2026
Created on August 7th, 2017
Open Issues & Pull Requests: 105 (+1)
GitHub issues: Enabled
Number of forks: 289
Total Stargazers: 3,074 (+0)
Total Subscribers: 39 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 9.4 hours
Mean response time: 71.4 days
90th percentile: 31.5 days
Tracked items: 91

How this project is maintained

Roughly one issue in four opened in the past year never receives a reply. 96% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 46% of issues opened in the past year have been closed. Three people close 89% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 49
New in 7 days: 2
Closed in 7 days: 1
Avg open age: 246 days
Stale 30+ days: 42
Stale 90+ days: 28

Recent activity

Opened in 7 days: 1
Closed in 7 days: 1
Comments in 7 days: 3
Events in 7 days: 6

Top labels

  • good first issue (1)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Tract is a neural-network inference engine that loads ONNX and NNEF models, optimizes them, and executes them across diverse hardware platforms.

The tool addresses the challenge of deploying trained neural networks efficiently across heterogeneous environments. It accepts ONNX and TensorFlow Lite models as input, applies optimization passes to reduce computational overhead, and generates executable inference code. A distinctive feature is its NNEF-based intermediate format, which enables a translate-once, ship-tiny-runtime workflow: models are optimized once and the resulting compact runtime can be deployed to resource-constrained environments without requiring the full inference engine.

Tract suits projects requiring neural-network inference on embedded systems, mobile devices, or edge hardware where model size and latency matter. It runs on ARM CPUs, NVIDIA and Apple GPUs, WebAssembly in browsers, and standard workstations. The project is particularly strong for speech recognition and wake-word detection, having been battle-tested in production at Sonos for these workloads. It also handles LLM inference, text-to-image generation, and classical computer vision tasks. The codebase provides runnable examples covering mobile vision models, transformer-based text generation, streaming speech recognition, object detection, and in-browser execution, giving prospective users concrete reference implementations.

The project maintains active test coverage across native Linux and embedded target platforms. Development includes regular updates to the core inference engine and API layers, with both Rust and Python interfaces actively maintained. The tool receives ongoing refinement to support contemporary model architectures and optimization techniques.