pub struct InferenceScan {
pub body: InferenceModel,
pub input_mapping: Vec<InputMapping>,
pub output_mapping: Vec<OutputMapping<TDim>>,
pub clean_scan_counts: bool,
pub iter_count_fact: GenericFactoid<TDim>,
}Fields§
§body: InferenceModel§input_mapping: Vec<InputMapping>§output_mapping: Vec<OutputMapping<TDim>>§clean_scan_counts: bool§iter_count_fact: GenericFactoid<TDim>Implementations§
Source§impl InferenceScan
impl InferenceScan
Sourcepub fn new(
body: InferenceModel,
input_mapping: Vec<InputMapping>,
output_mapping: Vec<OutputMapping<TDim>>,
clean_scan_counts: bool,
iter_count_fact: GenericFactoid<TDim>,
) -> Self
pub fn new( body: InferenceModel, input_mapping: Vec<InputMapping>, output_mapping: Vec<OutputMapping<TDim>>, clean_scan_counts: bool, iter_count_fact: GenericFactoid<TDim>, ) -> Self
Constructs a new InferenceScan.
Trait Implementations§
Source§impl Clone for InferenceScan
impl Clone for InferenceScan
Source§fn clone(&self) -> InferenceScan
fn clone(&self) -> InferenceScan
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for InferenceScan
impl Debug for InferenceScan
Source§impl Default for InferenceScan
impl Default for InferenceScan
Source§fn default() -> InferenceScan
fn default() -> InferenceScan
Returns the “default value” for a type. Read more
Source§impl EvalOp for InferenceScan
impl EvalOp for InferenceScan
fn is_stateless(&self) -> bool
fn state( &self, session: &mut SessionState, node_id: usize, ) -> TractResult<Option<Box<dyn OpState>>>
fn eval( &self, inputs: SmallVec<[TValue; 4]>, ) -> Result<SmallVec<[TValue; 4]>, Error>
fn eval_with_session( &self, node_id: usize, session: &SessionState, inputs: SmallVec<[TValue; 4]>, ) -> Result<SmallVec<[TValue; 4]>, Error>
Source§impl InferenceOp for InferenceScan
impl InferenceOp for InferenceScan
Source§fn infer_facts(
&mut self,
inputs: TVec<&InferenceFact>,
outputs: TVec<&InferenceFact>,
_observed: TVec<&InferenceFact>,
) -> TractResult<(TVec<InferenceFact>, TVec<InferenceFact>, TVec<InferenceFact>)>
fn infer_facts( &mut self, inputs: TVec<&InferenceFact>, outputs: TVec<&InferenceFact>, _observed: TVec<&InferenceFact>, ) -> TractResult<(TVec<InferenceFact>, TVec<InferenceFact>, TVec<InferenceFact>)>
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
Source§fn to_typed(
&self,
_source: &InferenceModel,
node: &InferenceNode,
target: &mut TypedModel,
mapping: &HashMap<OutletId, OutletId>,
) -> TractResult<TVec<OutletId>>
fn to_typed( &self, _source: &InferenceModel, node: &InferenceNode, target: &mut TypedModel, mapping: &HashMap<OutletId, OutletId>, ) -> TractResult<TVec<OutletId>>
Called during translation to TypedModel.
fn nboutputs(&self) -> TractResult<usize>
Source§fn infer(
&mut self,
inputs: TVec<&InferenceFact>,
outputs: TVec<&InferenceFact>,
observed: TVec<&InferenceFact>,
) -> TractResult<(TVec<InferenceFact>, TVec<InferenceFact>, TVec<InferenceFact>)>
fn infer( &mut self, inputs: TVec<&InferenceFact>, outputs: TVec<&InferenceFact>, observed: TVec<&InferenceFact>, ) -> TractResult<(TVec<InferenceFact>, TVec<InferenceFact>, TVec<InferenceFact>)>
Infers properties about the input and output tensors. Read more
Source§fn observe_outlets(
&self,
_model: &InferenceModel,
_node: &InferenceNode,
) -> TractResult<Vec<OutletId>>
fn observe_outlets( &self, _model: &InferenceModel, _node: &InferenceNode, ) -> TractResult<Vec<OutletId>>
Allow an op to specify a supplementary list of outlets facts that
will trigger inference again.
Source§fn incorporate(
&self,
model: &InferenceModel,
node: &InferenceNode,
) -> TractResult<Option<InferenceModelPatch>>
fn incorporate( &self, model: &InferenceModel, node: &InferenceNode, ) -> TractResult<Option<InferenceModelPatch>>
Early pass on inference model, after analyse, but before translation to
typed network. Meant to deal with some framework idiosyncrasies that
manifest with temporaries nodes that can run some form of inference but
require refactoring the network before it can be evaluated. Read more
Source§impl Op for InferenceScan
impl Op for InferenceScan
fn name(&self) -> StaticName
Source§fn info(&self) -> TractResult<Vec<String>>
fn info(&self) -> TractResult<Vec<String>>
Short (one-line) strings giving hints on internal implementation or
important configuration details to be displayed in dumps.
fn as_typed(&self) -> Option<&dyn TypedOp>
Source§fn validation(&self) -> Validation
fn validation(&self) -> Validation
The kind of accuracy check that should be performed on operation when
testing them.
Auto Trait Implementations§
impl Freeze for InferenceScan
impl !RefUnwindSafe for InferenceScan
impl Send for InferenceScan
impl Sync for InferenceScan
impl Unpin for InferenceScan
impl !UnwindSafe for InferenceScan
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§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.Source§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<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more