[−]Trait tract_pulse::internal::tract_core::ops::EvalOp
Required methods
fn is_stateless(&self) -> bool
Provided methods
fn eval(
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
fn state(
&self,
session: &mut SessionState,
node_id: usize
) -> Result<Option<Box<dyn OpState + 'static>>, Error>
&self,
session: &mut SessionState,
node_id: usize
) -> Result<Option<Box<dyn OpState + 'static>>, Error>
Implementations on Foreign Types
impl EvalOp for PulsePad
[src]
fn is_stateless(&self) -> bool
[src]
fn state(
&self,
_session: &mut SessionState,
_node_id: usize
) -> Result<Option<Box<dyn OpState + 'static>>, Error>
[src]
&self,
_session: &mut SessionState,
_node_id: usize
) -> Result<Option<Box<dyn OpState + 'static>>, Error>
impl EvalOp for Delay
[src]
fn is_stateless(&self) -> bool
[src]
fn state(
&self,
_session: &mut SessionState,
_node_id: usize
) -> Result<Option<Box<dyn OpState + 'static>>, Error>
[src]
&self,
_session: &mut SessionState,
_node_id: usize
) -> Result<Option<Box<dyn OpState + 'static>>, Error>
Implementors
impl EvalOp for AxisOp
fn is_stateless(&self) -> bool
fn eval(
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
impl EvalOp for ConstantOfShape
fn eval(
&self,
_inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
&self,
_inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
fn is_stateless(&self) -> bool
fn state(
&self,
_session: &mut SessionState,
_node_id: usize
) -> Result<Option<Box<dyn OpState + 'static>>, Error>
&self,
_session: &mut SessionState,
_node_id: usize
) -> Result<Option<Box<dyn OpState + 'static>>, Error>
impl EvalOp for FiniteReshape
fn is_stateless(&self) -> bool
fn eval(
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
impl EvalOp for Gather
fn is_stateless(&self) -> bool
fn eval(
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
impl EvalOp for MultiBroadcastTo
fn is_stateless(&self) -> bool
fn eval(
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
impl EvalOp for Pad
fn is_stateless(&self) -> bool
fn eval(
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
impl EvalOp for Tile
fn is_stateless(&self) -> bool
fn eval(
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
impl EvalOp for TypedConcat
fn is_stateless(&self) -> bool
fn eval(
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
impl EvalOp for MergeOpUnicast
fn is_stateless(&self) -> bool
fn eval(
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
impl EvalOp for TypedBinOp
fn is_stateless(&self) -> bool
fn eval(
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
impl EvalOp for UnaryOp
fn is_stateless(&self) -> bool
fn eval(
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
impl EvalOp for ConvUnary
fn is_stateless(&self) -> bool
fn eval(
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
impl EvalOp for MaxPool
fn is_stateless(&self) -> bool
fn eval(
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
impl EvalOp for SumPool
fn is_stateless(&self) -> bool
fn eval(
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
impl EvalOp for Dummy
fn is_stateless(&self) -> bool
fn eval(
&self,
_inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
&self,
_inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
impl EvalOp for ElementWiseOp
fn is_stateless(&self) -> bool
fn eval(
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
impl EvalOp for Identity
fn is_stateless(&self) -> bool
fn eval(
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
Evaluates the operation given the input tensors.
impl EvalOp for Const
fn is_stateless(&self) -> bool
fn eval(
&self,
_inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
&self,
_inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
impl EvalOp for Iff
fn is_stateless(&self) -> bool
fn eval(
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
impl EvalOp for MatMul
fn is_stateless(&self) -> bool
fn eval(
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
impl EvalOp for MatMulUnary
fn is_stateless(&self) -> bool
fn eval(
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
impl EvalOp for Reduce
fn is_stateless(&self) -> bool
fn eval(
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
impl EvalOp for DequantizeLinearF32
fn is_stateless(&self) -> bool
fn eval(
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
impl EvalOp for LirScan
fn is_stateless(&self) -> bool
fn state(
&self,
_session: &mut SessionState,
_node_id: usize
) -> Result<Option<Box<dyn OpState + 'static>>, Error>
&self,
_session: &mut SessionState,
_node_id: usize
) -> Result<Option<Box<dyn OpState + 'static>>, Error>
impl EvalOp for Scan
fn is_stateless(&self) -> bool
fn state(
&self,
session: &mut SessionState,
node_id: usize
) -> Result<Option<Box<dyn OpState + 'static>>, Error>
&self,
session: &mut SessionState,
node_id: usize
) -> Result<Option<Box<dyn OpState + 'static>>, Error>
impl EvalOp for TypedSource
fn is_stateless(&self) -> bool
fn state(
&self,
_session: &mut SessionState,
node_id: usize
) -> Result<Option<Box<dyn OpState + 'static>>, Error>
&self,
_session: &mut SessionState,
node_id: usize
) -> Result<Option<Box<dyn OpState + 'static>>, Error>
impl EvalOp for Downsample
fn is_stateless(&self) -> bool
fn eval(
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
impl EvalOp for UnimplementedOp
fn is_stateless(&self) -> bool
impl EvalOp for PulsedSource
[src]
fn is_stateless(&self) -> bool
[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<D> EvalOp for Slice<D> where
D: DimLike + ToDim + Hash,
D: DimLike + ToDim + Hash,
fn is_stateless(&self) -> bool
fn eval(
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
impl<T> EvalOp for Im2Col<T> where
T: Datum + Copy + Zero,
T: Datum + Copy + Zero,
fn is_stateless(&self) -> bool
fn eval(
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
&self,
inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>
impl<T> EvalOp for MatMatMulPackB<T> where
T: Copy + Datum + Zero,
T: Copy + Datum + Zero,