Struct tract_hir::ops::scan::InferenceScan [−][src]
pub struct InferenceScan {
pub body: InferenceModel,
pub input_mapping: Vec<InputMapping>,
pub output_mapping: Vec<OutputMapping<TDim>>,
pub seq_length_input_slot: Option<usize>,
pub clean_scan_counts: bool,
pub iter_count_fact: GenericFactoid<TDim>,
}
Fields
body: InferenceModel
input_mapping: Vec<InputMapping>
output_mapping: Vec<OutputMapping<TDim>>
seq_length_input_slot: Option<usize>
clean_scan_counts: bool
iter_count_fact: GenericFactoid<TDim>
Implementations
pub fn new(
body: InferenceModel,
input_mapping: Vec<InputMapping>,
output_mapping: Vec<OutputMapping<TDim>>,
seq_length_input_slot: Option<usize>,
clean_scan_counts: bool,
iter_count_fact: GenericFactoid<TDim>
) -> Self
pub fn new(
body: InferenceModel,
input_mapping: Vec<InputMapping>,
output_mapping: Vec<OutputMapping<TDim>>,
seq_length_input_slot: Option<usize>,
clean_scan_counts: bool,
iter_count_fact: GenericFactoid<TDim>
) -> Self
Constructs a new InferenceScan
.
Trait Implementations
Returns the “default value” for a type. Read more
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
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 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
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. Read more
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
Short (one-line) strings giving hints on internal implementation or important configuration details to be displayed in dumps. Read more
Vector of short strings defining what families the op belongs too. tract-core defines “core”, “mir”, “lir”. Read more
The kind of accuracy check that should be performed on operation when testing them. Read more
Auto Trait Implementations
impl !RefUnwindSafe for InferenceScan
impl Send for InferenceScan
impl Sync for InferenceScan
impl Unpin for InferenceScan
impl !UnwindSafe for InferenceScan
Blanket Implementations
Mutably borrows from an owned value. Read more
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘimpl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘimpl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
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
. Read more
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more