Enum tract_core::ops::change_axes::AxisOp [−][src]
pub enum AxisOp {
Add(usize),
Rm(usize),
Move(usize, usize),
Reshape(usize, TVec<TDim>, TVec<TDim>),
}Variants
Add(usize)Rm(usize)Implementations
impl AxisOp[src]
impl AxisOp[src]pub fn transform_axis(&self, axis: usize) -> Option<usize>[src]
pub fn merge_incoming_change(
&self,
change: &AxisOp
) -> Option<(Option<AxisOp>, Option<AxisOp>)>[src]
&self,
change: &AxisOp
) -> Option<(Option<AxisOp>, Option<AxisOp>)>
pub fn change_shape_array<D: DimLike>(
&self,
shape: &mut TVec<D>,
broadcast: bool
) -> TractResult<()>[src]
&self,
shape: &mut TVec<D>,
broadcast: bool
) -> TractResult<()>
pub fn change_shape(
&self,
shape: &mut ShapeFact,
broadcast: bool
) -> TractResult<()>[src]
&self,
shape: &mut ShapeFact,
broadcast: bool
) -> TractResult<()>
pub fn change_tensor(
&self,
tensor: &mut Tensor,
broadcasting: bool
) -> TractResult<()>[src]
&self,
tensor: &mut Tensor,
broadcasting: bool
) -> TractResult<()>
pub fn recip(&self) -> AxisOp[src]
pub fn is_noop(&self) -> bool[src]
pub fn only_shape(&self) -> bool[src]
Trait Implementations
impl EvalOp for AxisOp[src]
impl EvalOp for AxisOp[src]fn is_stateless(&self) -> bool[src]
fn eval(&self, inputs: TVec<Arc<Tensor>>) -> TractResult<TVec<Arc<Tensor>>>[src]
fn state(
&self,
session: &mut SessionState,
node_id: usize
) -> TractResult<Option<Box<dyn OpState>>>[src]
&self,
session: &mut SessionState,
node_id: usize
) -> TractResult<Option<Box<dyn OpState>>>
impl Op for AxisOp[src]
impl Op for AxisOp[src]fn name(&self) -> Cow<'_, str>[src]
fn info(&self) -> TractResult<Vec<String>>[src]
fn info(&self) -> TractResult<Vec<String>>[src]Short (one-line) strings giving hints on internal implementation or important configuration details to be displayed in dumps. Read more
fn op_families(&self) -> &'static [&'static str]ⓘ[src]
fn op_families(&self) -> &'static [&'static str]ⓘ[src]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>[src]
fn validation(&self) -> Validation[src]
fn validation(&self) -> Validation[src]The kind of accuracy check that should be performed on operation when testing them. Read more
impl TypedOp for AxisOp[src]
impl TypedOp for AxisOp[src]fn output_facts(&self, inputs: &[&TypedFact]) -> TractResult<TVec<TypedFact>>[src]
fn output_facts(&self, inputs: &[&TypedFact]) -> TractResult<TVec<TypedFact>>[src]Deduce output facts from input facts.
fn invariants(
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<Invariants>[src]
&self,
_model: &TypedModel,
node: &TypedNode
) -> TractResult<Invariants>
fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>[src]
fn declutter(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>[src]Declutter the op to the tract_core operator set as much as possible.
fn suggested_axis_changes(&self) -> TractResult<TVec<(InOut, AxisOp)>>[src]
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>>
fn concretize_dims(
&self,
_source: &TypedModel,
node: &TypedNode,
target: &mut TypedModel,
mapping: &HashMap<OutletId, OutletId>,
values: &SymbolValues
) -> TractResult<TVec<OutletId>>[src]
fn concretize_dims(
&self,
_source: &TypedModel,
node: &TypedNode,
target: &mut TypedModel,
mapping: &HashMap<OutletId, OutletId>,
values: &SymbolValues
) -> TractResult<TVec<OutletId>>[src]Transform the op into by providing a value to one or more symbols.
fn fuse(
&self,
_model: &TypedModel,
_node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>[src]
fn fuse(
&self,
_model: &TypedModel,
_node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>[src]Fuse op after codegen to deal with local optimisations.
fn cost(&self, _inputs: &[&TypedFact]) -> TractResult<TVec<(Cost, TDim)>>[src]
fn cost(&self, _inputs: &[&TypedFact]) -> TractResult<TVec<(Cost, TDim)>>[src]Computes a cost hint of the operation. Read more
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>>
fn quantize(
&self,
model: &TypedModel,
node: &TypedNode,
dt: DatumType,
scale: f32,
zero_point: i32
) -> TractResult<Option<Box<dyn TypedOp>>>[src]
fn quantize(
&self,
model: &TypedModel,
node: &TypedNode,
dt: DatumType,
scale: f32,
zero_point: i32
) -> TractResult<Option<Box<dyn TypedOp>>>[src]Transforms the op in an equivalent one, operating on dt (i8 or u8). Read more
fn codegen(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>[src]
fn codegen(
&self,
model: &TypedModel,
node: &TypedNode
) -> TractResult<Option<TypedModelPatch>>[src]Translate the op into the most efficient form possible for execution. Read more
Auto Trait Implementations
impl RefUnwindSafe for AxisOp
impl Send for AxisOp
impl Sync for AxisOp
impl Unpin for AxisOp
impl UnwindSafe for AxisOp
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any, [src]
impl<T> Downcast for T where
T: Any, [src]pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<W, 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
A: Allocator,
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;[src]
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<W, 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
A: Allocator,
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;[src]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
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>[src]
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>[src]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
pub fn as_any(&self) -> &(dyn Any + 'static)[src]
pub fn as_any(&self) -> &(dyn Any + 'static)[src]Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)[src]
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)[src]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
impl<T> DowncastSync for T where
T: Any + Send + Sync, [src]
impl<T> DowncastSync for T where
T: Any + Send + Sync, [src]impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, [src]type Owned = T
type Owned = TThe resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn to_owned(&self) -> T[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)[src]
pub fn clone_into(&self, target: &mut T)[src]🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more