Skip to main content

NnefInterface

Trait NnefInterface 

Source
pub trait NnefInterface: Debug + Sized {
    type Model: ModelInterface;

Show 17 methods // Required methods fn load(&self, path: impl AsRef<Path>) -> Result<Self::Model>; fn load_buffer(&self, data: &[u8]) -> Result<Self::Model>; fn disable_tract_core(&mut self) -> Result<()>; fn enable_tract_extra(&mut self) -> Result<()>; fn enable_tract_transformers(&mut self) -> Result<()>; fn enable_onnx(&mut self) -> Result<()>; fn enable_pulse(&mut self) -> Result<()>; fn enable_extended_identifier_syntax(&mut self) -> Result<()>; fn write_model_to_dir( &self, path: impl AsRef<Path>, model: &Self::Model, ) -> Result<()>; fn write_model_to_tar( &self, path: impl AsRef<Path>, model: &Self::Model, ) -> Result<()>; fn write_model_to_tar_gz( &self, path: impl AsRef<Path>, model: &Self::Model, ) -> Result<()>; // Provided methods fn without_tract_core(self) -> Result<Self> { ... } fn with_tract_extra(self) -> Result<Self> { ... } fn with_tract_transformers(self) -> Result<Self> { ... } fn with_onnx(self) -> Result<Self> { ... } fn with_pulse(self) -> Result<Self> { ... } fn with_extended_identifier_syntax(self) -> Result<Self> { ... }
}
Expand description

an implementation of tract’s NNEF framework object

Entry point for NNEF model manipulation: loading from file, dumping to file.

Required Associated Types§

Required Methods§

Source

fn load(&self, path: impl AsRef<Path>) -> Result<Self::Model>

Load a NNEF model from the path into a tract-core model.

  • path can point to a directory, a tar file or a tar.gz file.
Source

fn load_buffer(&self, data: &[u8]) -> Result<Self::Model>

Load a NNEF model from a buffer into a tract-core model.

data is the content of a NNEF model, as a tar file or a tar.gz file.

Source

fn disable_tract_core(&mut self) -> Result<()>

Force the framework to emit strict NNEF instead of using the tract_core extension. The tract_core extension is enabled by default; call this to opt out.

Source

fn enable_tract_extra(&mut self) -> Result<()>

Allow the framework to use tract_extra extensions.

Source

fn enable_tract_transformers(&mut self) -> Result<()>

Allow the framework to use tract_transformers extensions to support common transformer operators.

Source

fn enable_onnx(&mut self) -> Result<()>

Allow the framework to use tract_onnx extensions to support operators in ONNX that are absent from NNEF.

Source

fn enable_pulse(&mut self) -> Result<()>

Allow the framework to use tract_pulse extensions to support stateful streaming operation.

Source

fn enable_extended_identifier_syntax(&mut self) -> Result<()>

Allow the framework to use a tract-proprietary extension that can support special characters in node names. If disable, tract will replace everything by underscore ‘_’ to keep compatibility with NNEF. If enabled, the extended syntax will be used, allowing to maintain the node names in serialized form.

Source

fn write_model_to_dir( &self, path: impl AsRef<Path>, model: &Self::Model, ) -> Result<()>

Dump a TypedModel as a NNEF directory.

path is the directory name to dump to

Source

fn write_model_to_tar( &self, path: impl AsRef<Path>, model: &Self::Model, ) -> Result<()>

Dump a TypedModel as a NNEF tar file.

This function creates a plain, non-compressed, archive.

path is the archive name

Source

fn write_model_to_tar_gz( &self, path: impl AsRef<Path>, model: &Self::Model, ) -> Result<()>

Provided Methods§

Source

fn without_tract_core(self) -> Result<Self>

Convenience function, similar to disable_tract_core but allowing method chaining.

Source

fn with_tract_extra(self) -> Result<Self>

Convenience function, similar with enable_tract_extra but allowing method chaining.

Source

fn with_tract_transformers(self) -> Result<Self>

Convenience function, similar with enable_tract_transformers but allowing method chaining.

Source

fn with_onnx(self) -> Result<Self>

Convenience function, similar with enable_onnx but allowing method chaining.

Source

fn with_pulse(self) -> Result<Self>

Convenience function, similar with enable_pulse but allowing method chaining.

Source

fn with_extended_identifier_syntax(self) -> Result<Self>

Convenience function, similar with enable_extended_identifier_syntax but allowing method chaining.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§