← all repositories
uber/neuropod

Uber's model zookeeper: one API to cage them all

Neuropod lets you run TensorFlow, PyTorch, Keras, and Ludwig models through a single C++/Python interface so your inference code stops caring about framework politics.

neuropod
Velocity · 7d
+0.4
★ / day
Trend
steady
star history

What it does

Neuropod is a C++ and Python library that wraps deep learning models from five frameworks (TensorFlow, PyTorch, TorchScript, Keras, Ludwig) behind one uniform API. Load a model, call infer(), get results — the same code regardless of whether the model was trained in TF or PyTorch. It also lets you define “problem APIs” (input/output specs) so any model solving the same task can drop into the same pipeline.

The interesting bit

The out-of-process execution is the quietly useful part: you can run Torch nightly models alongside Torch 1.1.0 models in the same application without dependency hell, and switch between in-process and out-of-process with one line. The README also claims zero-copy tensor operations and fully self-contained models including custom ops.

Key highlights

  • One load_neuropod() + infer() API across all supported frameworks
  • Problem API definitions let you swap models at runtime with zero code changes
  • Out-of-process execution isolates models and resolves framework version conflicts
  • Supports C++ and Python runtimes (even non-TorchScript PyTorch models)
  • Tested across Mac/Linux/GPU, multiple framework versions, and Python 2.7–3.8

Caveats

  • The “incubation” topic tag suggests this may not be Uber’s most actively maintained project; check recent commit activity before betting heavily on it
  • 943 stars is modest traction for a general-purpose inference abstraction — the ecosystem has moved toward ONNX and native serving solutions since this launched

Verdict

Worth a look if you’re running a polyglot model zoo and need to stop rewriting inference glue for every framework. Probably overkill if you’ve already standardized on one stack, or if you can solve the problem with ONNX + your existing serving infrastructure.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.