[−][src]Trait tract_core::ops::TypedOp
Required methods
pub fn as_op(&self) -> &dyn Op
[src]
Reinterpret the TypedOp as an Op.
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
Reinterpret the TypedOp as an Op, mutably.
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
Deduce output facts from input facts.
Provided methods
pub fn invariants(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Invariants>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Invariants>
pub fn fuse(
&self,
_model: &TypedModel,
_node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]
&self,
_model: &TypedModel,
_node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
Fuse op after codegen to deal with local optimisations.
pub fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
Declutter the op to the tract_core operator set as much as possible.
pub fn cost(&self, _inputs: &[&TypedFact]) -> TractResult<TVec<(Cost, TDim)>>
[src]
Computes a cost hint of the operation.
Each pair is a type of operation and a number per call on eval.
pub fn suggested_axis_changes(&self) -> TractResult<TVec<(InOut, AxisOp)>>
[src]
pub fn change_axes(
&self,
model: &TypedModel,
node: &TypedNode,
io: InOut,
change: &AxisOp
) -> TractResult<Option<AxisChangeConsequence>>
[src]
&self,
model: &TypedModel,
node: &TypedNode,
io: InOut,
change: &AxisOp
) -> TractResult<Option<AxisChangeConsequence>>
pub fn slice_output(
&self,
model: &TypedModel,
node: &TypedNode,
patch: &mut TypedModelPatch,
output_slot: usize,
axis: usize,
start: usize,
end: usize
) -> TractResult<Option<OutletId>>
[src]
&self,
model: &TypedModel,
node: &TypedNode,
patch: &mut TypedModelPatch,
output_slot: usize,
axis: usize,
start: usize,
end: usize
) -> TractResult<Option<OutletId>>
pub fn quantize(
&self,
model: &TypedModel,
node: &TypedNode,
dt: DatumType,
scale: f32,
zero_point: i32
) -> TractResult<Option<Box<dyn TypedOp>>>
[src]
&self,
model: &TypedModel,
node: &TypedNode,
dt: DatumType,
scale: f32,
zero_point: i32
) -> TractResult<Option<Box<dyn TypedOp>>>
Transforms the op in an equivalent one, operating on dt (i8 or u8).
Returns None if the op can not be translated.
pub fn concretize_dims(
&self,
source: &TypedModel,
node: &TypedNode,
target: &mut TypedModel,
mapping: &HashMap<OutletId, OutletId>,
values: &SymbolValues
) -> TractResult<TVec<OutletId>>
[src]
&self,
source: &TypedModel,
node: &TypedNode,
target: &mut TypedModel,
mapping: &HashMap<OutletId, OutletId>,
values: &SymbolValues
) -> TractResult<TVec<OutletId>>
Transform the op into by providing a value to one or more symbols.
pub fn codegen(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]
&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.
pub fn nested_model_multipliers(
&self,
inputs: &[&TypedFact]
) -> Vec<(Cow<'_, str>, f64)>ⓘ
[src]
&self,
inputs: &[&TypedFact]
) -> Vec<(Cow<'_, str>, f64)>ⓘ
Nested model multipliers, with label (for profiling).
Trait Implementations
Implementors
impl TypedOp for AxisOp
[src]
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
pub fn invariants(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<Invariants>
[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<Invariants>
pub fn suggested_axis_changes(&self) -> TractResult<TVec<(InOut, AxisOp)>>
[src]
pub fn change_axes(
&self,
model: &TypedModel,
node: &TypedNode,
io: InOut,
change: &AxisOp
) -> TractResult<Option<AxisChangeConsequence>>
[src]
&self,
model: &TypedModel,
node: &TypedNode,
io: InOut,
change: &AxisOp
) -> TractResult<Option<AxisChangeConsequence>>
pub fn concretize_dims(
&self,
_source: &TypedModel,
node: &TypedNode,
target: &mut TypedModel,
mapping: &HashMap<OutletId, OutletId>,
values: &SymbolValues
) -> TractResult<TVec<OutletId>>
[src]
&self,
_source: &TypedModel,
node: &TypedNode,
target: &mut TypedModel,
mapping: &HashMap<OutletId, OutletId>,
values: &SymbolValues
) -> TractResult<TVec<OutletId>>
impl TypedOp for ConstantOfShape
[src]
pub fn output_facts(
&self,
_inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
_inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
pub fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
impl TypedOp for FiniteReshape
[src]
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
impl TypedOp for Gather
[src]
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
pub fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
impl TypedOp for MultiBroadcastTo
[src]
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
pub fn concretize_dims(
&self,
_source: &TypedModel,
node: &TypedNode,
target: &mut TypedModel,
mapping: &HashMap<OutletId, OutletId>,
values: &SymbolValues
) -> TractResult<TVec<OutletId>>
[src]
&self,
_source: &TypedModel,
node: &TypedNode,
target: &mut TypedModel,
mapping: &HashMap<OutletId, OutletId>,
values: &SymbolValues
) -> TractResult<TVec<OutletId>>
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
impl TypedOp for OneHot
[src]
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
pub fn invariants(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Invariants>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Invariants>
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
impl TypedOp for Pad
[src]
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
pub fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
impl TypedOp for Slice
[src]
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
pub fn invariants(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Invariants>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Invariants>
pub fn change_axes(
&self,
model: &TypedModel,
node: &TypedNode,
_io: InOut,
change: &AxisOp
) -> TractResult<Option<AxisChangeConsequence>>
[src]
&self,
model: &TypedModel,
node: &TypedNode,
_io: InOut,
change: &AxisOp
) -> TractResult<Option<AxisChangeConsequence>>
pub fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
pub fn slice_output(
&self,
model: &TypedModel,
node: &TypedNode,
patch: &mut TypedModelPatch,
_output_slot: usize,
axis: usize,
start: usize,
end: usize
) -> TractResult<Option<OutletId>>
[src]
&self,
model: &TypedModel,
node: &TypedNode,
patch: &mut TypedModelPatch,
_output_slot: usize,
axis: usize,
start: usize,
end: usize
) -> TractResult<Option<OutletId>>
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
impl TypedOp for Tile
[src]
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
impl TypedOp for TypedConcat
[src]
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
pub fn invariants(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Invariants>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Invariants>
pub fn change_axes(
&self,
model: &TypedModel,
node: &TypedNode,
_io: InOut,
change: &AxisOp
) -> TractResult<Option<AxisChangeConsequence>>
[src]
&self,
model: &TypedModel,
node: &TypedNode,
_io: InOut,
change: &AxisOp
) -> TractResult<Option<AxisChangeConsequence>>
pub fn slice_output(
&self,
model: &TypedModel,
node: &TypedNode,
patch: &mut TypedModelPatch,
_output_slot: usize,
axis: usize,
start: usize,
end: usize
) -> TractResult<Option<OutletId>>
[src]
&self,
model: &TypedModel,
node: &TypedNode,
patch: &mut TypedModelPatch,
_output_slot: usize,
axis: usize,
start: usize,
end: usize
) -> TractResult<Option<OutletId>>
pub fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
impl TypedOp for MergeOpUnicast
[src]
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
pub fn cost(&self, inputs: &[&TypedFact]) -> TractResult<TVec<(Cost, TDim)>>
[src]
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
impl TypedOp for TypedBinOp
[src]
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
pub fn change_axes(
&self,
model: &TypedModel,
node: &TypedNode,
_io: InOut,
change: &AxisOp
) -> TractResult<Option<AxisChangeConsequence>>
[src]
&self,
model: &TypedModel,
node: &TypedNode,
_io: InOut,
change: &AxisOp
) -> TractResult<Option<AxisChangeConsequence>>
pub fn invariants(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Invariants>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Invariants>
pub fn cost(&self, inputs: &[&TypedFact]) -> TractResult<TVec<(Cost, TDim)>>
[src]
pub fn slice_output(
&self,
model: &TypedModel,
node: &TypedNode,
patch: &mut TypedModelPatch,
_output_slot: usize,
axis: usize,
start: usize,
end: usize
) -> TractResult<Option<OutletId>>
[src]
&self,
model: &TypedModel,
node: &TypedNode,
patch: &mut TypedModelPatch,
_output_slot: usize,
axis: usize,
start: usize,
end: usize
) -> TractResult<Option<OutletId>>
pub fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
pub fn codegen(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
impl TypedOp for UnaryOp
[src]
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
pub fn invariants(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Invariants>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Invariants>
pub fn slice_output(
&self,
model: &TypedModel,
node: &TypedNode,
patch: &mut TypedModelPatch,
_output_slot: usize,
axis: usize,
start: usize,
end: usize
) -> TractResult<Option<OutletId>>
[src]
&self,
model: &TypedModel,
node: &TypedNode,
patch: &mut TypedModelPatch,
_output_slot: usize,
axis: usize,
start: usize,
end: usize
) -> TractResult<Option<OutletId>>
pub fn cost(&self, inputs: &[&TypedFact]) -> TractResult<TVec<(Cost, TDim)>>
[src]
pub fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
pub fn change_axes(
&self,
model: &TypedModel,
node: &TypedNode,
_io: InOut,
change: &AxisOp
) -> TractResult<Option<AxisChangeConsequence>>
[src]
&self,
model: &TypedModel,
node: &TypedNode,
_io: InOut,
change: &AxisOp
) -> TractResult<Option<AxisChangeConsequence>>
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
impl TypedOp for ConvUnary
[src]
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
pub fn invariants(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Invariants>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Invariants>
pub fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
pub fn cost(&self, inputs: &[&TypedFact]) -> TractResult<TVec<(Cost, TDim)>>
[src]
pub fn change_axes(
&self,
model: &TypedModel,
node: &TypedNode,
_io: InOut,
change: &AxisOp
) -> TractResult<Option<AxisChangeConsequence>>
[src]
&self,
model: &TypedModel,
node: &TypedNode,
_io: InOut,
change: &AxisOp
) -> TractResult<Option<AxisChangeConsequence>>
pub fn codegen(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
impl TypedOp for Im2Col
[src]
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
impl TypedOp for MaxPool
[src]
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
pub fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
pub fn codegen(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
impl TypedOp for SumPool
[src]
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
pub fn codegen(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
impl TypedOp for Downsample
[src]
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
pub fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
impl TypedOp for Dummy
[src]
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
pub fn output_facts(
&self,
_inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
_inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
impl TypedOp for ElementWiseOp
[src]
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
pub fn change_axes(
&self,
model: &TypedModel,
node: &TypedNode,
_io: InOut,
change: &AxisOp
) -> TractResult<Option<AxisChangeConsequence>>
[src]
&self,
model: &TypedModel,
node: &TypedNode,
_io: InOut,
change: &AxisOp
) -> TractResult<Option<AxisChangeConsequence>>
pub fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
pub fn invariants(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Invariants>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Invariants>
pub fn cost(&self, inputs: &[&TypedFact]) -> TractResult<TVec<(Cost, TDim)>>
[src]
pub fn quantize(
&self,
_model: &TypedModel,
_node: &TypedNode,
dt: DatumType,
scale: f32,
zero_point: i32
) -> TractResult<Option<Box<dyn TypedOp>>>
[src]
&self,
_model: &TypedModel,
_node: &TypedNode,
dt: DatumType,
scale: f32,
zero_point: i32
) -> TractResult<Option<Box<dyn TypedOp>>>
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
impl TypedOp for Identity
[src]
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
pub fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
pub fn fuse(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
impl TypedOp for Const
[src]
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
pub fn output_facts(
&self,
_inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
_inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
impl TypedOp for Iff
[src]
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
impl TypedOp for LirMatMulUnary
[src]
pub fn output_facts(
&self,
_inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
_inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
pub fn cost(&self, _inputs: &[&TypedFact]) -> TractResult<TVec<(Cost, TDim)>>
[src]
pub fn fuse(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
impl TypedOp for MatMul
[src]
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
pub fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
pub fn cost(&self, inputs: &[&TypedFact]) -> TractResult<TVec<(Cost, TDim)>>
[src]
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
impl TypedOp for MatMulUnary
[src]
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
pub fn invariants(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Invariants>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Invariants>
pub fn change_axes(
&self,
model: &TypedModel,
node: &TypedNode,
_io: InOut,
change: &AxisOp
) -> TractResult<Option<AxisChangeConsequence>>
[src]
&self,
model: &TypedModel,
node: &TypedNode,
_io: InOut,
change: &AxisOp
) -> TractResult<Option<AxisChangeConsequence>>
pub fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
pub fn slice_output(
&self,
model: &TypedModel,
node: &TypedNode,
patch: &mut TypedModelPatch,
_output_slot: usize,
axis: usize,
start: usize,
end: usize
) -> TractResult<Option<OutletId>>
[src]
&self,
model: &TypedModel,
node: &TypedNode,
patch: &mut TypedModelPatch,
_output_slot: usize,
axis: usize,
start: usize,
end: usize
) -> TractResult<Option<OutletId>>
pub fn cost(&self, inputs: &[&TypedFact]) -> TractResult<TVec<(Cost, TDim)>>
[src]
pub fn codegen(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
impl TypedOp for MatMatMulPack
[src]
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
impl TypedOp for Reduce
[src]
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
pub fn invariants(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Invariants>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Invariants>
pub fn change_axes(
&self,
model: &TypedModel,
node: &TypedNode,
_io: InOut,
change: &AxisOp
) -> TractResult<Option<AxisChangeConsequence>>
[src]
&self,
model: &TypedModel,
node: &TypedNode,
_io: InOut,
change: &AxisOp
) -> TractResult<Option<AxisChangeConsequence>>
impl TypedOp for DequantizeLinearF32
[src]
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
pub fn invariants(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Invariants>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Invariants>
pub fn change_axes(
&self,
model: &TypedModel,
node: &TypedNode,
_io: InOut,
change: &AxisOp
) -> TractResult<Option<AxisChangeConsequence>>
[src]
&self,
model: &TypedModel,
node: &TypedNode,
_io: InOut,
change: &AxisOp
) -> TractResult<Option<AxisChangeConsequence>>
pub fn declutter(
&self,
model: &TypedModel,
dequant: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]
&self,
model: &TypedModel,
dequant: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
impl TypedOp for LirScan
[src]
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
impl TypedOp for Scan
[src]
pub fn as_op(&self) -> &dyn Op
[src]
pub fn as_op_mut(&mut self) -> &mut dyn Op
[src]
pub fn output_facts(
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
pub fn invariants(
&self,
_model: &TypedModel,
_node: &TypedNode
) -> TractResult<Invariants>
[src]
&self,
_model: &TypedModel,
_node: &TypedNode
) -> TractResult<Invariants>
pub fn change_axes(
&self,
_model: &TypedModel,
_node: &TypedNode,
io: InOut,
change: &AxisOp
) -> TractResult<Option<AxisChangeConsequence>>
[src]
&self,
_model: &TypedModel,
_node: &TypedNode,
io: InOut,
change: &AxisOp
) -> TractResult<Option<AxisChangeConsequence>>
pub fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
pub fn concretize_dims(
&self,
_source: &TypedModel,
node: &TypedNode,
target: &mut TypedModel,
mapping: &HashMap<OutletId, OutletId>,
values: &SymbolValues
) -> TractResult<TVec<OutletId>>
[src]
&self,
_source: &TypedModel,
node: &TypedNode,
target: &mut TypedModel,
mapping: &HashMap<OutletId, OutletId>,
values: &SymbolValues
) -> TractResult<TVec<OutletId>>
pub fn codegen(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
[src]
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>
impl TypedOp for TypedSource
[src]
pub fn output_facts(
&self,
_inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
[src]
&self,
_inputs: &[&TypedFact]
) -> TractResult<TVec<TypedFact>>
pub fn change_axes(
&self,
model: &TypedModel,
node: &TypedNode,
_io: InOut,
change: &AxisOp
) -> TractResult<Option<AxisChangeConsequence>>
[src]
&self,
model: &TypedModel,
node: &TypedNode,
_io: InOut,
change: &AxisOp
) -> TractResult<Option<AxisChangeConsequence>>
pub fn concretize_dims(
&self,
_source: &TypedModel,
node: &TypedNode,
target: &mut TypedModel,
_mapping: &HashMap<OutletId, OutletId>,
values: &SymbolValues
) -> TractResult<TVec<OutletId>>
[src]
&self,
_source: &TypedModel,
node: &TypedNode,
target: &mut TypedModel,
_mapping: &HashMap<OutletId, OutletId>,
values: &SymbolValues
) -> TractResult<TVec<OutletId>>