Struct tract_tensorflow::ops::logic::Switch
source · pub struct Switch;Implementations§
Trait Implementations§
source§impl InferenceRulesOp for Switch
impl InferenceRulesOp for Switch
source§fn rules<'r, 'p: 'r, 's: 'r>(
&'s self,
s: &mut Solver<'r>,
inputs: &'p [TensorProxy],
outputs: &'p [TensorProxy]
) -> InferenceResult
fn rules<'r, 'p: 'r, 's: 'r>( &'s self, s: &mut Solver<'r>, inputs: &'p [TensorProxy], outputs: &'p [TensorProxy] ) -> InferenceResult
Registers the inference rules of the operator.
fn incorporate( &self, model: &InferenceModel, node: &InferenceNode ) -> TractResult<Option<InferenceModelPatch>>
fn nboutputs(&self) -> TractResult<usize>
fn as_op(&self) -> &dyn Op
fn as_op_mut(&mut self) -> &mut dyn Op
fn to_typed( &self, source: &Graph<InferenceFact, Box<dyn InferenceOp, Global>>, node: &Node<InferenceFact, Box<dyn InferenceOp, Global>>, target: &mut Graph<TypedFact, Box<dyn TypedOp, Global>>, mapping: &HashMap<OutletId, OutletId, RandomState> ) -> Result<SmallVec<[OutletId; 4]>, Error>
Auto Trait Implementations§
impl RefUnwindSafe for Switch
impl Send for Switch
impl Sync for Switch
impl Unpin for Switch
impl UnwindSafe for Switch
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>
fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.source§impl<O> InferenceOp for Owhere
O: InferenceRulesOp + Op,
impl<O> InferenceOp for Owhere O: InferenceRulesOp + Op,
source§fn infer_facts(
&mut self,
inputs: SmallVec<[&InferenceFact; 4]>,
outputs: SmallVec<[&InferenceFact; 4]>,
observed: SmallVec<[&InferenceFact; 4]>
) -> Result<(SmallVec<[InferenceFact; 4]>, SmallVec<[InferenceFact; 4]>, SmallVec<[InferenceFact; 4]>), Error>
fn infer_facts( &mut self, inputs: SmallVec<[&InferenceFact; 4]>, outputs: SmallVec<[&InferenceFact; 4]>, observed: SmallVec<[&InferenceFact; 4]> ) -> Result<(SmallVec<[InferenceFact; 4]>, SmallVec<[InferenceFact; 4]>, SmallVec<[InferenceFact; 4]>), Error>
Infer properties about inputs and output tensors. This method does not
need to deal with the “trivial” stateless op with fully determined
inputs cases. Read more
fn nboutputs(&self) -> Result<usize, Error>
source§fn observe_outlets(
&self,
_model: &Graph<InferenceFact, Box<dyn InferenceOp, Global>>,
_node: &Node<InferenceFact, Box<dyn InferenceOp, Global>>
) -> Result<Vec<OutletId, Global>, Error>
fn observe_outlets( &self, _model: &Graph<InferenceFact, Box<dyn InferenceOp, Global>>, _node: &Node<InferenceFact, Box<dyn InferenceOp, Global>> ) -> Result<Vec<OutletId, Global>, Error>
Allow an op to specify a supplementary list of outlets facts that
will trigger inference again.
source§fn as_op_mut(&mut self) -> &mut (dyn Op + 'static)
fn as_op_mut(&mut self) -> &mut (dyn Op + 'static)
Reinterpret the InferenceOp as an Op, mutably.
source§fn to_typed(
&self,
source: &Graph<InferenceFact, Box<dyn InferenceOp, Global>>,
node: &Node<InferenceFact, Box<dyn InferenceOp, Global>>,
target: &mut Graph<TypedFact, Box<dyn TypedOp, Global>>,
mapping: &HashMap<OutletId, OutletId, RandomState>
) -> Result<SmallVec<[OutletId; 4]>, Error>
fn to_typed( &self, source: &Graph<InferenceFact, Box<dyn InferenceOp, Global>>, node: &Node<InferenceFact, Box<dyn InferenceOp, Global>>, target: &mut Graph<TypedFact, Box<dyn TypedOp, Global>>, mapping: &HashMap<OutletId, OutletId, RandomState> ) -> Result<SmallVec<[OutletId; 4]>, Error>
Called during translation to TypedModel.
source§fn incorporate(
&self,
model: &Graph<InferenceFact, Box<dyn InferenceOp, Global>>,
node: &Node<InferenceFact, Box<dyn InferenceOp, Global>>
) -> Result<Option<ModelPatch<InferenceFact, Box<dyn InferenceOp, Global>>>, Error>
fn incorporate( &self, model: &Graph<InferenceFact, Box<dyn InferenceOp, Global>>, node: &Node<InferenceFact, Box<dyn InferenceOp, Global>> ) -> Result<Option<ModelPatch<InferenceFact, Box<dyn InferenceOp, Global>>>, Error>
Early pass on inference model, after analyse, but before translation to
typed network. Meant to deal with some framework idiosyncrasies that
manifest with temporaries nodes that can run some form of inference but
require refactoring the network before it can be evaluated. Read more
source§fn infer(
&mut self,
inputs: SmallVec<[&InferenceFact; 4]>,
outputs: SmallVec<[&InferenceFact; 4]>,
observed: SmallVec<[&InferenceFact; 4]>
) -> Result<(SmallVec<[InferenceFact; 4]>, SmallVec<[InferenceFact; 4]>, SmallVec<[InferenceFact; 4]>), Error>
fn infer( &mut self, inputs: SmallVec<[&InferenceFact; 4]>, outputs: SmallVec<[&InferenceFact; 4]>, observed: SmallVec<[&InferenceFact; 4]> ) -> Result<(SmallVec<[InferenceFact; 4]>, SmallVec<[InferenceFact; 4]>, SmallVec<[InferenceFact; 4]>), Error>
Infers properties about the input and output tensors. Read more