MCPcopy Index your code
hub / github.com/EmbarkStudios/cervo

github.com/EmbarkStudios/cervo @0.9.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.9.2 ↗ · + Follow
476 symbols 1,415 edges 66 files 123 documented · 26%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

🧠 cervo

Wrapper around tract used for ML workloads in our games.

Embark Embark

Build status

Cervo is intended to be a thin wrapper around tract, at a slightly higher abstraction level and with common utilities we need. While not a goal, our current use-cases has led to a design centered around dynamic batching and dictionary inputs for reinforcement-learning based agents.

As of currently, Cervo offers a set of inferers, noise generators (for continuous-action/parametrized policies), and a unified asset format.

Contribution

Contributor Covenant

We welcome community contributions to this project.

Please read our Contributor Guide for more information on how to get started. Please also read our Contributor Terms before you make any contributions.

Any contribution intentionally submitted for inclusion in an Embark Studios project, shall comply with the Rust standard licensing model (MIT OR Apache 2.0) and therefore be dual licensed as described below, without any additional terms or conditions:

License

This contribution is dual licensed under EITHER OF

at your option.

For clarity, "your" refers to Embark or any other licensee/user of the contribution.

Extension points exported contracts — how you extend this code

Inferer (Interface)
The main workhorse shared by all components in Cervo. [13 implementers]
crates/cervo-core/src/inferer.rs
InfererWrapper (Interface)
A trait for wrapping an inferer with additional functionality. This works similar to the old layered inferer setup, but [5 …
crates/cervo-core/src/wrapper.rs
IntoStateful (Interface)
Extension trait to allow easy wrapping of an inferer with a wrapper stack. [4 implementers]
crates/cervo-core/src/wrapper.rs
NoiseGenerator (Interface)
`NoiseGenerators` are consumed by the [`EpsilonInjector`] by generating noise sampled for a standard normal distribution [3 …
crates/cervo-core/src/epsilon.rs
InfererProvider (Interface)
Helper trait to provide helper functions for loadable models. [2 implementers]
crates/cervo-core/src/inferer.rs

Core symbols most depended-on inside this repo

push
called by 51
crates/cervo-core/src/batcher.rs
builder
called by 48
crates/cervo-onnx/src/lib.rs
execute
called by 24
crates/cervo-core/src/batcher.rs
infer_batch
called by 23
crates/cervo-core/src/inferer.rs
raw_input_shapes
called by 22
crates/cervo-core/src/wrapper.rs
push
called by 19
crates/cervo-runtime/src/runtime.rs
len
called by 18
crates/cervo-core/src/batcher.rs
extend
called by 17
crates/cervo-core/src/batcher.rs

Shape

Method 220
Function 178
Class 63
Enum 8
Interface 7

Languages

Rust97%
Python3%

Modules by API surface

crates/cervo-core/src/recurrent.rs32 symbols
crates/cervo-runtime/src/runtime.rs31 symbols
crates/cervo-core/src/batcher/scratch.rs27 symbols
crates/cervo-core/src/inferer.rs26 symbols
crates/cervo-core/src/epsilon.rs24 symbols
crates/cervo-runtime/src/state.rs21 symbols
crates/cervo-core/src/wrapper.rs20 symbols
benchmarks/perf-test/src/compare_threading.rs17 symbols
crates/cervo-core/tests/batcher.rs16 symbols
crates/cervo-cli/src/commands/benchmark.rs15 symbols
crates/cervo-asset/src/lib.rs14 symbols
crates/cervo-core/src/inferer/fixed.rs13 symbols

For agents

$ claude mcp add cervo \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact