Trait NnefInterface

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

Show 17 methods // Required methods fn model_for_path(&self, path: impl AsRef<Path>) -> Result<Self::Model>; fn transform_model( &self, model: &mut Self::Model, transform_spec: &str, ) -> Result<()>; fn enable_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 with_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 model_for_path(&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 transform_model( &self, model: &mut Self::Model, transform_spec: &str, ) -> Result<()>

Transform model according to transform spec

Source

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

Allow the framework to use tract_core extensions instead of a stricter NNEF definition.

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 with_tract_core(self) -> Result<Self>

Convenience function, similar with enable_tract_core but allowing method chaining.

Source

fn with_tract_extra(self) -> Result<Self>

Convenience function, similar with enable_tract_core 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", so this trait is not object safe.

Implementors§