pub struct ConstantLike { /* private fields */ }Implementations
sourceimpl ConstantLike
impl ConstantLike
Trait Implementations
sourceimpl Clone for ConstantLike
impl Clone for ConstantLike
sourcefn clone(&self) -> ConstantLike
fn clone(&self) -> ConstantLike
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more
sourceimpl Debug for ConstantLike
impl Debug for ConstantLike
sourceimpl Default for ConstantLike
impl Default for ConstantLike
sourcefn default() -> ConstantLike
fn default() -> ConstantLike
Returns the “default value” for a type. Read more
sourceimpl EvalOp for ConstantLike
impl EvalOp for ConstantLike
sourceimpl Hash for ConstantLike
impl Hash for ConstantLike
sourceimpl InferenceRulesOp for ConstantLike
impl InferenceRulesOp for ConstantLike
sourcefn 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 as_op(&self) -> &dyn Op
fn as_op_mut(&mut self) -> &mut dyn Op
fn to_typed(
&self,
_source: &InferenceModel,
node: &InferenceNode,
target: &mut TypedModel,
mapping: &HashMap<OutletId, OutletId>
) -> TractResult<TVec<OutletId>>
fn nboutputs(&self) -> TractResult<usize>
fn incorporate(
&self,
model: &InferenceModel,
node: &InferenceNode
) -> TractResult<Option<InferenceModelPatch>>
sourceimpl Op for ConstantLike
impl Op for ConstantLike
fn name(&self) -> Cow<'_, str>
sourcefn op_families(&self) -> &'static [&'static str]
fn op_families(&self) -> &'static [&'static str]
Vector of short strings defining what families the op belongs too. tract-core defines “core”, “mir”, “lir”. Read more
fn as_typed(&self) -> Option<&dyn TypedOp>
sourcefn validation(&self) -> Validation
fn validation(&self) -> Validation
The kind of accuracy check that should be performed on operation when testing them. Read more
sourceimpl TypedOp for ConstantLike
impl TypedOp for ConstantLike
sourcefn output_facts(&self, inputs: &[&TypedFact]) -> TractResult<TVec<TypedFact>>
fn output_facts(&self, inputs: &[&TypedFact]) -> TractResult<TVec<TypedFact>>
Deduce output facts from input facts.
fn invariants(
&self,
inputs: &[&TypedFact],
outputs: &[&TypedFact]
) -> Result<Invariants, Error>
sourcefn fuse(
&self,
_model: &Graph<TypedFact, Box<dyn TypedOp + 'static, Global>>,
_node: &Node<TypedFact, Box<dyn TypedOp + 'static, Global>>
) -> Result<Option<ModelPatch<TypedFact, Box<dyn TypedOp + 'static, Global>>>, Error>
fn fuse(
&self,
_model: &Graph<TypedFact, Box<dyn TypedOp + 'static, Global>>,
_node: &Node<TypedFact, Box<dyn TypedOp + 'static, Global>>
) -> Result<Option<ModelPatch<TypedFact, Box<dyn TypedOp + 'static, Global>>>, Error>
Fuse op after codegen to deal with local optimisations.
sourcefn declutter_with_session(
&self,
session: &mut OptimizerSession<'_>,
model: &Graph<TypedFact, Box<dyn TypedOp + 'static, Global>>,
node: &Node<TypedFact, Box<dyn TypedOp + 'static, Global>>
) -> Result<Option<ModelPatch<TypedFact, Box<dyn TypedOp + 'static, Global>>>, Error>
fn declutter_with_session(
&self,
session: &mut OptimizerSession<'_>,
model: &Graph<TypedFact, Box<dyn TypedOp + 'static, Global>>,
node: &Node<TypedFact, Box<dyn TypedOp + 'static, Global>>
) -> Result<Option<ModelPatch<TypedFact, Box<dyn TypedOp + 'static, Global>>>, Error>
Declutter the op to the tract_core operator set as much as possible.
sourcefn declutter(
&self,
model: &Graph<TypedFact, Box<dyn TypedOp + 'static, Global>>,
node: &Node<TypedFact, Box<dyn TypedOp + 'static, Global>>
) -> Result<Option<ModelPatch<TypedFact, Box<dyn TypedOp + 'static, Global>>>, Error>
fn declutter(
&self,
model: &Graph<TypedFact, Box<dyn TypedOp + 'static, Global>>,
node: &Node<TypedFact, Box<dyn TypedOp + 'static, Global>>
) -> Result<Option<ModelPatch<TypedFact, Box<dyn TypedOp + 'static, Global>>>, Error>
Declutter the op to the tract_core operator set as much as possible.
sourcefn cost(
&self,
_inputs: &[&TypedFact]
) -> Result<SmallVec<[(Cost, TDim); 4]>, Error>
fn cost(
&self,
_inputs: &[&TypedFact]
) -> Result<SmallVec<[(Cost, TDim); 4]>, Error>
Computes a cost hint of the operation. Read more
fn suggested_axis_changes(
&self
) -> Result<SmallVec<[(InOut, AxisOp); 4]>, Error>
fn change_axes(
&self,
model: &Graph<TypedFact, Box<dyn TypedOp + 'static, Global>>,
node: &Node<TypedFact, Box<dyn TypedOp + 'static, Global>>,
io: InOut,
change: &AxisOp
) -> Result<Option<AxisChangeConsequence>, Error>
fn slice_output(
&self,
model: &Graph<TypedFact, Box<dyn TypedOp + 'static, Global>>,
node: &Node<TypedFact, Box<dyn TypedOp + 'static, Global>>,
patch: &mut ModelPatch<TypedFact, Box<dyn TypedOp + 'static, Global>>,
slice_suffix: &str,
output_slot: usize,
axis: usize,
start: usize,
end: usize
) -> Result<Option<(OutletId, bool)>, Error>
sourcefn quantize(
&self,
model: &Graph<TypedFact, Box<dyn TypedOp + 'static, Global>>,
node: &Node<TypedFact, Box<dyn TypedOp + 'static, Global>>,
dt: DatumType,
scale: f32,
zero_point: i32
) -> Result<Option<Box<dyn TypedOp + 'static, Global>>, Error>
fn quantize(
&self,
model: &Graph<TypedFact, Box<dyn TypedOp + 'static, Global>>,
node: &Node<TypedFact, Box<dyn TypedOp + 'static, Global>>,
dt: DatumType,
scale: f32,
zero_point: i32
) -> Result<Option<Box<dyn TypedOp + 'static, Global>>, Error>
Transforms the op in an equivalent one, operating on dt (i8 or u8). Read more
sourcefn concretize_dims(
&self,
source: &Graph<TypedFact, Box<dyn TypedOp + 'static, Global>>,
node: &Node<TypedFact, Box<dyn TypedOp + 'static, Global>>,
target: &mut Graph<TypedFact, Box<dyn TypedOp + 'static, Global>>,
mapping: &HashMap<OutletId, OutletId, RandomState>,
values: &SymbolValues
) -> Result<SmallVec<[OutletId; 4]>, Error>
fn concretize_dims(
&self,
source: &Graph<TypedFact, Box<dyn TypedOp + 'static, Global>>,
node: &Node<TypedFact, Box<dyn TypedOp + 'static, Global>>,
target: &mut Graph<TypedFact, Box<dyn TypedOp + 'static, Global>>,
mapping: &HashMap<OutletId, OutletId, RandomState>,
values: &SymbolValues
) -> Result<SmallVec<[OutletId; 4]>, Error>
Transform the op into by providing a value to one or more symbols.
sourcefn codegen(
&self,
model: &Graph<TypedFact, Box<dyn TypedOp + 'static, Global>>,
node: &Node<TypedFact, Box<dyn TypedOp + 'static, Global>>
) -> Result<Option<ModelPatch<TypedFact, Box<dyn TypedOp + 'static, Global>>>, Error>
fn codegen(
&self,
model: &Graph<TypedFact, Box<dyn TypedOp + 'static, Global>>,
node: &Node<TypedFact, Box<dyn TypedOp + 'static, Global>>
) -> Result<Option<ModelPatch<TypedFact, Box<dyn TypedOp + 'static, Global>>>, Error>
Translate the op into the most efficient form possible for execution. Read more
Auto Trait Implementations
impl RefUnwindSafe for ConstantLike
impl Send for ConstantLike
impl Sync for ConstantLike
impl Unpin for ConstantLike
impl UnwindSafe for ConstantLike
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn 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 T where
T: Any,
impl<T> Downcast for T where
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<R, Global>impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<W> Write for Box<W, Global> where
W: Write + ?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;
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<R, Global>impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<W> Write for Box<W, Global> where
W: Write + ?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;
R: Read + ?Sized, impl<W> Write for Box<W, Global> where
W: Write + ?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
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
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
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. Read more
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. Read more