Skip to content

v2.0.0-rc.6

Latest
Compare
Choose a tag to compare
@decahedron1 decahedron1 released this 10 Sep 21:46
· 15 commits to main since this release
ee5cc20

ort::Error refactor

ort::Error is no longer an enum, but rather an opaque struct with a message and a new ErrorCode field.

ort::Error still implements std::error::Error, so this change shouldn't be too breaking; however, if you were previously matching on ort::Errors, you'll have to refactor your code to instead match on the error's code (acquired with the Error::code() function).

AllocationDevice refactor

The AllocationDevice type has also been converted from an enum to a struct. Common devices like CUDA or DirectML are accessible via associated constants like AllocationDevice::CUDA & AllocationDevice::DIRECTML.

Features

  • 60f6eca Update to ONNX Runtime v1.19.2.
  • 9f4527c Added ModelMetadata::custom_keys() to get a Vec of all custom keys.
  • bfa791d Add various SessionBuilder options affecting compute & graph optimizations.
  • 5e6fc6b Expose the underlying Allocator API. You can now allocate & free buffers acquired from a session or operator kernel context.
  • 52422ae Added ValueType::Optional.
  • 2576812 Added the Vitis AI execution provider for new AMD Ryzen AI chips.
  • 41ef65a Added the RKNPU execution provider for certain Rockchip NPUs.
  • 6b3e7a0 Added KernelContext::par_for, allowing operator kernels to use ONNX Runtime's thread pool without needing an extra dependency on a crate like rayon.

Fixes

  • edcb219 Make environment initialization thread-safe. This should eliminate intermittent segfaults when running tests concurrently, like seen in #278.
  • 3072279 Linux dylibs no longer require version symlinks, fixing #269.
  • bc70a0a Fixed unsatisfiable lifetime bounds when creating Tensors from &CowArrays.
  • 6592b17 Providing more inputs than the model expects no longer segfaults.
  • b595048 Shave off dependencies by removing tracing's attributes feature - a --no-default-features build of ort now only builds 9 crates!
  • c7ddbdb Removed the operator-libraries feature - you can still use SessionBuilder::with_operator_library, it's just no longer gated behind the feature!

If you have any questions about this release, we're here to help:

Love ort? Consider supporting us on Open Collective 💖

❤️💚💙💛