Neuropod Versions Save

A uniform interface to run deep learning models from multiple frameworks

v0.2.0-rc0

4 years ago

Major Changes

The library has been renamed from Neuropods to Neuropod and all imports, namespaces, classes, and method names have changed to match.

Python

  • The python libraries now use the native bindings and OPE by default. This means that the same inference code path is used from C++ and python.

  • This also means that Neuropod from python no longer uses your environment's version of a framework for inference.

  • Wheels for each required backend can be installed below. For example, if you're trying to run a TF model, you will need to install at least one of the TensorFlow Neuropod python packages below.

This change allows Neuropod to run/test your model in a more isolated environment (independent of your version of Torch or TF) when exporting a TorchScript, TensorFlow, or Keras model.

Note: If this fails, you can set _always_use_native=False when calling load_neuropod. Please file an issue if you see problems as _always_use_native is a temporary workaround that is intended to be removed at the official release

C++

  • A subset of model outputs can be requested by passing a second argument to infer

  • Using out-of-process execution (OPE) is now controlled through the RuntimeOptions struct. See the OPE docs for more detail.

Other Changes

  • Many improvements to out-of-process execution.
  • Lots of build and build system improvements
  • Reformatted code and added lint and static analyzers to CI
  • Added support for Torch v1.4.0

See the list of commits between v0.1.0-rc3 and v0.2.0-rc0 for more details: https://github.com/uber/neuropod/compare/v0.1.0-rc3...v0.2.0-rc0

v0.1.0-rc3

4 years ago

Changes

  • Add support for Torch v1.3.0
  • Add support for TensorFlow v1.15.0
  • Documentation
  • Bugfixes

v0.1.0-rc2

4 years ago

This release candidate is intended to test the release process and verify that the released assets work correctly.

Major changes:

Neuropods are now packaged as zip files by default (instead of as directories)

For example,

create_tensorflow_neuropod(
    neuropod_path="/path/to/my_addition_model.neuropod",
    model_name="addition_model",
    ...
)

Will create a single self-contained file at /path/to/my_addition_model.neuropod

You can set package_as_zip=False in create_*_neuropod to keep the old behavior.

Note: Loading is backwards compatible (i.e. both zip and directory neuropods can be loaded from both C++ and Python)

Other Changes

  • Added factory functions for creating tensors from C++: zeros, ones, full, randn, arange, and eye
  • NeuropodValueMap can now be serialized with neuropods::serialize
  • Updated pybind11 to v2.4.2
  • Updated boost to v1.68.0
  • Various bugfixes
  • Better packager docstrings

v0.1.0-rc1

4 years ago

The first Neuropod release candidate through GitHub!

This release candidate is intended to test the release process and verify that the released assets work correctly.