tract-api

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

15 releases

0.21.7 Sep 23, 2024
0.21.6 Jul 24, 2024
0.21.5 May 13, 2024
0.21.2 Mar 29, 2024
0.20.22 Nov 28, 2023

#871 in Machine learning


Used in 3 crates

MIT/Apache

115KB
301 lines

tract 1.0 public API (draft)

TLDR

A regular Rust project should include tract-rs only.

Scope

These crates are meant to represent a public API for tract for integration in "simple" use case. We commit on Semver stability on these crates interface. The other crates are considered internal and their interface can change any time.

The public API scope is limited to model-level manipulation, no access to individual model graph nodes and operators is allowed.

Crates

  • interface definition: tract-api in tract/api
  • rust implementation over tract internal crates: tract-rs in tract/api/rs
  • tract as a C-friendly dynamic library: tract-ffi in tract/api/ffi
  • rust client over tract-ffi (use tract as a shared library): tract-proxy in tract/api/proxy. It implements tract-api, so is source-swapable with tract-rs.
  • python client: in tract/api/py

Dependencies

~2.5MB
~50K SLoC