[−][src]Trait tract_core::ops::Op
A base operation
Required methods
Loading content...Provided methods
fn incorporate(
&self,
_model: &InferenceModel,
_node: &InferenceNode
) -> TractResult<Option<InferenceModelPatch>>
&self,
_model: &InferenceModel,
_node: &InferenceNode
) -> TractResult<Option<InferenceModelPatch>>
Early pass on inference model, after analyse, but before translation to typed network. Meant to deal with some framework idiosyncrasies that manifest with temporaries nodes that can run some form of inference but require refactoring the network before it can be evaluated.
Called after succesful analyse, but before translating to typed model.
fn declutter(
&self,
_model: &TypedModel,
_node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
&self,
_model: &TypedModel,
_node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
Declutter the op to the tract_core operator set as much as possible.
fn codegen(
&self,
_model: &TypedModel,
_node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
&self,
_model: &TypedModel,
_node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
Translate the op into the most efficient form possible for execution.
This transformation is supposed to be final, no more pass are expected to be run on the codegen networks.
fn fuse(
&self,
_model: &TypedModel,
_node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
&self,
_model: &TypedModel,
_node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
Fuse op after codegen to deal with local optimisations.
fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>
Computes a cost hint of the operation.
Each pair is a type of operation and a number per call on eval.
fn nested_models(&self) -> Vec<(Cow<str>, &dyn Model)>
Nested models, with label (for audit).
fn validation(&self) -> Validation
The kind of accuracy check that should be performed on operation when testing them.
fn axes_info(
&self,
_model: &TypedModel,
_node: &TypedNode
) -> TractResult<AxesInfo>
&self,
_model: &TypedModel,
_node: &TypedNode
) -> TractResult<AxesInfo>
fn same_as(&self, _other: &dyn Op) -> bool
Compare two ops.
fn info(&self) -> TractResult<Vec<String>>
Short (one-line) strings giving hints on internal implementation or important configuration details to be displayed in dumps.
fn is_canonic(&self) -> bool
Methods
impl dyn Op
pub fn is<__T: Op>(&self) -> bool
Returns true if the trait object wraps an object of type __T.
pub fn downcast<__T: Op>(self: Box<Self>) -> Result<Box<__T>, Box<Self>>
Returns a boxed object from a boxed trait object if the underlying object is of type
__T. Returns the original boxed trait if it isn't.
pub fn downcast_ref<__T: Op>(&self) -> Option<&__T>
Returns a reference to the object within the trait object if it is of type __T, or
None if it isn't.
pub fn downcast_mut<__T: Op>(&mut self) -> Option<&mut __T>
Returns a mutable reference to the object within the trait object if it is of type
__T, or None if it isn't.
Trait Implementations
impl AsMut<dyn Op + 'static> for dyn InferenceOp[src]
impl AsMut<dyn Op + 'static> for Box<dyn InferenceOp>[src]
impl AsMut<dyn Op + 'static> for dyn TypedOp[src]
impl AsMut<dyn Op + 'static> for Box<dyn TypedOp>[src]
impl AsRef<dyn Op + 'static> for dyn InferenceOp[src]
impl AsRef<dyn Op + 'static> for Box<dyn InferenceOp>[src]
impl AsRef<dyn Op + 'static> for dyn TypedOp[src]
impl AsRef<dyn Op + 'static> for Box<dyn TypedOp>[src]
Implementors
impl Op for AddDims[src]
fn name(&self) -> Cow<str>[src]
fn info(&self) -> TractResult<Vec<String>>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Concat[src]
fn name(&self) -> Cow<str>[src]
fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for ConstantLike[src]
impl Op for ConstantOfShape[src]
fn name(&self) -> Cow<str>[src]
fn info(&self) -> TractResult<Vec<String>>[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Crop[src]
impl Op for EyeLike[src]
impl Op for Flatten[src]
impl Op for Gather[src]
impl Op for IntoShape[src]
fn name(&self) -> Cow<str>[src]
fn info(&self) -> TractResult<Vec<String>>[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for MultiBroadcastTo[src]
impl Op for Pad[src]
impl Op for PermuteAxes[src]
fn name(&self) -> Cow<str>[src]
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Reshape[src]
impl Op for RmDims[src]
fn name(&self) -> Cow<str>[src]
fn info(&self) -> TractResult<Vec<String>>[src]
fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Shape[src]
impl Op for Size[src]
impl Op for Split[src]
impl Op for Squeeze[src]
fn name(&self) -> Cow<str>[src]
fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Tile[src]
impl Op for TypedMultiBroadcastTo[src]
fn name(&self) -> Cow<str>[src]
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for InferenceBinOp[src]
fn name(&self) -> Cow<str>[src]
fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for MergeOp[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn codegen(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for MergeOpUnicast[src]
impl Op for Nary[src]
impl Op for TypedBinOp[src]
fn name(&self) -> Cow<str>[src]
fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
fn axes_info(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for UnaryOp[src]
fn name(&self) -> Cow<str>[src]
fn info(&self) -> TractResult<Vec<String>>[src]
fn axes_info(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Cast[src]
impl Op for Direct[src]
fn name(&self) -> Cow<str>[src]
fn info(&self) -> TractResult<Vec<String>>[src]
fn fuse(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
fn cost(&self, inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]
fn validation(&self) -> Validation[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for AvgPool[src]
fn name(&self) -> Cow<str>[src]
fn codegen(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Conv[src]
fn name(&self) -> Cow<str>[src]
fn cost(&self, inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]
fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for ConvUnary[src]
fn name(&self) -> Cow<str>[src]
fn cost(&self, inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]
fn info(&self) -> TractResult<Vec<String>>[src]
fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
fn codegen(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
fn axes_info(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for MaxPool[src]
fn name(&self) -> Cow<str>[src]
fn codegen(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Downsample[src]
fn name(&self) -> Cow<str>[src]
fn info(&self) -> TractResult<Vec<String>>[src]
fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
fn same_as(&self, other: &dyn Op) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Dummy[src]
impl Op for Identity[src]
fn name(&self) -> Cow<str>[src]
fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
fn fuse(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Const[src]
impl Op for Iff[src]
impl Op for Not[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for MatMul[src]
fn name(&self) -> Cow<str>[src]
fn cost(&self, inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]
fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for MatMulUnary[src]
fn name(&self) -> Cow<str>[src]
fn info(&self) -> TractResult<Vec<String>>[src]
fn axes_info(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn codegen(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Abs[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Acos[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Acosh[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Asin[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Asinh[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Atan[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Atanh[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Ceil[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Cos[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Cosh[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Exp[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Floor[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for IsNan[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Ln[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Neg[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Recip[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Rsqrt[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for ScalarMax[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for ScalarMin[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for ScalarMinMax[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Sign[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Sin[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Sinh[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Sqrt[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Tan[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Tanh[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for ArgMaxMin[src]
impl Op for Elu[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for GlobalAvgPool[src]
impl Op for GlobalLpPool[src]
impl Op for GlobalMaxPool[src]
impl Op for Hardsigmoid[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for LayerHardmax[src]
fn name(&self) -> Cow<str>[src]
fn info(&self) -> TractResult<Vec<String>>[src]
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for LayerLogSoftmax[src]
fn name(&self) -> Cow<str>[src]
fn info(&self) -> TractResult<Vec<String>>[src]
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for LayerSoftmax[src]
fn name(&self) -> Cow<str>[src]
fn info(&self) -> TractResult<Vec<String>>[src]
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for LeakyRelu[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Lrn[src]
impl Op for ParametricSoftplus[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Reduce[src]
fn name(&self) -> Cow<str>[src]
fn info(&self) -> TractResult<Vec<String>>[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for ScaledTanh[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Selu[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Sigmoid[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Softplus[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Softsign[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for ThresholdedRelu[src]
fn name(&self) -> Cow<str>[src]
fn axes_info(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Inference[src]
fn name(&self) -> Cow<str>[src]
fn nested_models(&self) -> Vec<(Cow<str>, &dyn Model)>[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Typed[src]
fn name(&self) -> Cow<str>[src]
fn info(&self) -> TractResult<Vec<String>>[src]
fn nested_models(&self) -> Vec<(Cow<str>, &dyn Model)>[src]
fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
fn codegen(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for Source[src]
impl Op for TypedSource[src]
fn name(&self) -> Cow<str>[src]
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl Op for UnimplementedOp[src]
impl Op for Delay[src]
fn name(&self) -> Cow<str>[src]
fn is_canonic(&self) -> bool[src]
fn same_as(&self, other: &dyn Op) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl<D: DimLike + ToDim> Op for Slice<D>[src]
fn name(&self) -> Cow<str>[src]
fn info(&self) -> TractResult<Vec<String>>[src]
fn axes_info(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<AxesInfo>
fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
fn is_canonic(&self) -> bool[src]
fn as_typed(&self) -> Option<&dyn TypedOp>[src]
impl<T> Op for MatMulUnaryFinite<T> where
T: Copy + Datum + Add + Mul + Zero + FloatLike,
f32: AsPrimitive<T>, [src]
T: Copy + Datum + Add + Mul + Zero + FloatLike,
f32: AsPrimitive<T>,
fn name(&self) -> Cow<str>[src]
fn info(&self) -> TractResult<Vec<String>>[src]
fn fuse(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>