[][src]Trait tract_core::ops::Op

pub trait Op: Debug + Clone + Send + Sync + 'static + InferenceOp + Downcast + StatefullOp {
    fn name(&self) -> Cow<str>;

    fn infer(
        &self,
        inputs: TVec<&TensorFact>,
        outputs: TVec<&TensorFact>
    ) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)> { ... }
fn declutter(
        &self,
        _model: &TypedModel,
        _node: &TypedNode
    ) -> TractResult<Option<TypedModelPatch>> { ... }
fn pulsify(
        &self,
        _source: &NormalizedModel,
        _node: &NormalizedNode,
        _target: &mut PulsedModel,
        _mapping: &HashMap<OutletId, OutletId>
    ) -> TractResult<TVec<OutletId>> { ... }
fn codegen(
        &self,
        _model: &TypedModel,
        _node: &TypedNode
    ) -> TractResult<Option<TypedModelPatch>> { ... }
fn cost(
        &self,
        _inputs: &[&TypedTensorInfo]
    ) -> TractResult<TVec<(Cost, TDim)>> { ... }
fn rounding_errors(&self) -> bool { ... }
fn same_as(&self, _other: &dyn Op) -> bool { ... }
fn info(&self) -> TractResult<Option<String>> { ... } }

Required methods

fn name(&self) -> Cow<str>

Loading content...

Provided methods

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>

Infers properties about the input and output tensors.

The inputs and outputs arguments correspond to properties about the input and output tensors that are already known.

Returns Err in case of an unrecoverable error during the inference, and the refined properties about the inputs and outputs otherwise.

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>

fn rounding_errors(&self) -> bool

fn same_as(&self, _other: &dyn Op) -> bool

fn info(&self) -> TractResult<Option<String>>

Loading content...

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.

Implementors

impl Op for AddDims[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Concat[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for ConstantLike[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for ConstantOfShape[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for EyeLike[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Flatten[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Gather[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for MultiBroadcastTo[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Pad[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for PermuteAxes[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Reshape[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for RmDims[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Shape[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Size[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Slice[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Split[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Squeeze[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Tile[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Cast[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Direct[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

impl Op for AvgPool[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Conv[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for ConvUnary[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for MaxPool[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Identity[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Const[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::logic::And::Bin[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::logic::And::UnaryA[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::logic::Equals::Bin[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::logic::Equals::UnaryA[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::logic::Greater::Bin[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::logic::Greater::UnaryA[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::logic::Lesser::Bin[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::logic::Lesser::UnaryA[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::logic::Or::Bin[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::logic::Or::UnaryA[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::logic::Xor::Bin[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::logic::Xor::UnaryA[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Not[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::math::Add::Bin[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::math::Add::UnaryA[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::math::Div::Bin[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::math::Div::UnaryA[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::math::Max::Bin[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::math::Max::UnaryA[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::math::Min::Bin[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::math::Min::UnaryA[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::math::Mul::Bin[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::math::Mul::UnaryA[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::math::Pow::Bin[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::math::Pow::UnaryA[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::math::Rem::Bin[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::math::Rem::UnaryA[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::math::Sub::Bin[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::math::Sub::UnaryA[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Gemm[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for GemmUnaryA[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for GemmUnaryB[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for MatMul[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for MatMulUnaryA[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for MatMulUnaryB[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Abs[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Acos[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Acosh[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for AddN[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Asin[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Asinh[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Atan[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Atanh[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Ceil[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Clip[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Cos[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Cosh[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Exp[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Floor[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for IsNan[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Ln[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for MaxN[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for MeanN[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for MinN[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Neg[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Recip[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Rsqrt[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Sign[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Sin[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Sinh[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Sqrt[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Tan[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::math::Tanh[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Sigmoid[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for ArgMaxMin[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for BatchNorm[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Elu[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for GlobalAvgPool[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for GlobalLpPool[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for GlobalMaxPool[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Hardsigmoid[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for LayerHardmax[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for LayerLogSoftmax[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for LayerSoftmax[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for LeakyRelu[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Lrn[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for ParametricSoftplus[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Reduce[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Relu[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for ScaledTanh[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Selu[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Softplus[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Softsign[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for ThresholdedRelu[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for tract_core::ops::nn::tanh::Tanh[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Source[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for UnimplementedOp[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl Op for Delay[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn cost(&self, _inputs: &[&TypedTensorInfo]) -> TractResult<TVec<(Cost, TDim)>>[src]

fn rounding_errors(&self) -> bool[src]

fn info(&self) -> TractResult<Option<String>>[src]

impl<T: Copy + Datum + Add + Mul + Zero + FloatLike> Op for MatMulUnaryImplASimpleB<T>[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

impl<T: Copy + Datum + Add + Mul + Zero + FloatLike> Op for MatMulUnaryImplA<T>[src]

fn infer(
    &self,
    inputs: TVec<&TensorFact>,
    outputs: TVec<&TensorFact>
) -> TractResult<(TVec<TensorFact>, TVec<TensorFact>)>
[src]

fn declutter(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn pulsify(
    &self,
    _source: &NormalizedModel,
    _node: &NormalizedNode,
    _target: &mut PulsedModel,
    _mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
[src]

fn codegen(
    &self,
    _model: &TypedModel,
    _node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]

fn rounding_errors(&self) -> bool[src]

fn same_as(&self, _other: &dyn Op) -> bool[src]

Loading content...