pub trait NnefInterface: Sized {
    type Model: ModelInterface;

    // Required methods
    fn model_for_path(&self, path: impl AsRef<Path>) -> Result<Self::Model>;
    fn enable_tract_core(&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_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 enable_tract_core(&mut self) -> Result<()>

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

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_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.

Implementors§