Trait tract_pulse::internal::tract_core::ops::nn::EvalOp[]

pub trait EvalOp {
    fn is_stateless(&self) -> bool;

    fn eval(
        &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, Global>>, Error> { ... } }

Required methods

fn is_stateless(&self) -> bool

Provided methods

fn eval(
    &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, Global>>, Error>

Implementations on Foreign Types

impl EvalOp for PulsePad[src]

pub fn is_stateless(&self) -> bool[src]

pub fn state(
    &self,
    _session: &mut SessionState,
    _node_id: usize
) -> Result<Option<Box<dyn OpState + 'static, Global>>, Error>
[src]

impl EvalOp for Delay[src]

pub fn is_stateless(&self) -> bool[src]

pub fn state(
    &self,
    _session: &mut SessionState,
    _node_id: usize
) -> Result<Option<Box<dyn OpState + 'static, Global>>, Error>
[src]

Implementors

impl EvalOp for AxisOp

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

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]

impl EvalOp for ConstantOfShape

pub fn eval(
    &self,
    _inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

pub fn is_stateless(&self) -> bool

pub fn state(
    &self,
    _session: &mut SessionState,
    _node_id: usize
) -> Result<Option<Box<dyn OpState + 'static, Global>>, Error>

impl EvalOp for FiniteReshape

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for Gather

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for GatherElements

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for GatherNd

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for MultiBroadcastTo

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for OneHot

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for Pad

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for ScatterElements

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for ScatterNd

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for Slice

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for Tile

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for TypedConcat

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for MergeOpUnicast

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for TypedBinOp

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for UnaryOp

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for Im2Col

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for ConvUnary

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for DeconvUnary

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for MaxPool

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for SumPool

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for Dummy

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    _inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for ElementWiseOp

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for Identity

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

Evaluates the operation given the input tensors.

pub fn is_stateless(&self) -> bool

impl EvalOp for Const

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    _inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for Iff

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for LirMatMulUnary

pub fn is_stateless(&self) -> bool

pub fn state(
    &self,
    _session: &mut SessionState,
    _node_id: usize
) -> Result<Option<Box<dyn OpState + 'static, Global>>, Error>

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for MatMatMulPack

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for MatMul

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for MatMulUnary

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for QMatMul

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for DequantizeLinearF32

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for LirScan

pub fn is_stateless(&self) -> bool

pub fn state(
    &self,
    _session: &mut SessionState,
    _node_id: usize
) -> Result<Option<Box<dyn OpState + 'static, Global>>, Error>

impl EvalOp for Scan

pub fn is_stateless(&self) -> bool

pub fn state(
    &self,
    session: &mut SessionState,
    node_id: usize
) -> Result<Option<Box<dyn OpState + 'static, Global>>, Error>

impl EvalOp for TypedSource

pub fn is_stateless(&self) -> bool

pub fn state(
    &self,
    _session: &mut SessionState,
    node_id: usize
) -> Result<Option<Box<dyn OpState + 'static, Global>>, Error>

impl EvalOp for Downsample

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>

impl EvalOp for UnimplementedOp

pub fn is_stateless(&self) -> bool

impl EvalOp for Reduce

pub fn is_stateless(&self) -> bool

pub fn eval(
    &self,
    inputs: SmallVec<[Arc<Tensor>; 4]>
) -> Result<SmallVec<[Arc<Tensor>; 4]>, Error>