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§
type Model: ModelInterface
Required Methods§
Sourcefn load(&self, path: impl AsRef<Path>) -> Result<Self::Model>
fn load(&self, path: impl AsRef<Path>) -> Result<Self::Model>
Load a NNEF model from the path into a tract-core model.
pathcan point to a directory, atarfile or atar.gzfile.
Sourcefn load_buffer(&self, data: &[u8]) -> Result<Self::Model>
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.
Sourcefn disable_tract_core(&mut self) -> Result<()>
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.
Sourcefn enable_tract_extra(&mut self) -> Result<()>
fn enable_tract_extra(&mut self) -> Result<()>
Allow the framework to use tract_extra extensions.
Sourcefn enable_tract_transformers(&mut self) -> Result<()>
fn enable_tract_transformers(&mut self) -> Result<()>
Allow the framework to use tract_transformers extensions to support common transformer operators.
Sourcefn enable_onnx(&mut self) -> Result<()>
fn enable_onnx(&mut self) -> Result<()>
Allow the framework to use tract_onnx extensions to support operators in ONNX that are absent from NNEF.
Sourcefn enable_pulse(&mut self) -> Result<()>
fn enable_pulse(&mut self) -> Result<()>
Allow the framework to use tract_pulse extensions to support stateful streaming operation.
Sourcefn enable_extended_identifier_syntax(&mut self) -> Result<()>
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.
Sourcefn write_model_to_dir(
&self,
path: impl AsRef<Path>,
model: &Self::Model,
) -> Result<()>
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
Sourcefn write_model_to_tar(
&self,
path: impl AsRef<Path>,
model: &Self::Model,
) -> Result<()>
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
fn write_model_to_tar_gz( &self, path: impl AsRef<Path>, model: &Self::Model, ) -> Result<()>
Provided Methods§
Sourcefn without_tract_core(self) -> Result<Self>
fn without_tract_core(self) -> Result<Self>
Convenience function, similar to disable_tract_core but allowing method chaining.
Sourcefn with_tract_extra(self) -> Result<Self>
fn with_tract_extra(self) -> Result<Self>
Convenience function, similar with enable_tract_extra but allowing method chaining.
Sourcefn with_tract_transformers(self) -> Result<Self>
fn with_tract_transformers(self) -> Result<Self>
Convenience function, similar with enable_tract_transformers but allowing method chaining.
Sourcefn with_onnx(self) -> Result<Self>
fn with_onnx(self) -> Result<Self>
Convenience function, similar with enable_onnx but allowing method chaining.
Sourcefn with_pulse(self) -> Result<Self>
fn with_pulse(self) -> Result<Self>
Convenience function, similar with enable_pulse but allowing method chaining.
Sourcefn with_extended_identifier_syntax(self) -> Result<Self>
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".