Trait OpTrait

Source
pub trait OpTrait {
    // Required methods
    fn get_name(&self) -> &'static str;
    fn get_input_size(&self) -> usize;
    fn get_output_size(&self) -> usize;
    fn apply(&self, input: &[Tensor], output: &[Tensor]);
    fn grad(
        &self,
        input: &[Tensor],
        output_grad: &[Tensor],
        input_grad: &[Tensor],
    );
    fn get_values(&self) -> Vec<Tensor>;
    fn set_values(&self, v: &[Tensor]);
    fn get_grads(&self) -> Vec<Tensor>;
    fn as_any(&self) -> &dyn Any;
}
Expand description

Implement operator by this trait to allow the operator be able to stored in the computation graph.

Required Methods§

Source

fn get_name(&self) -> &'static str

A conventional name for the op

Source

fn get_input_size(&self) -> usize

The number of input needs by this op.

Source

fn get_output_size(&self) -> usize

The number of output produced by this op.

Source

fn apply(&self, input: &[Tensor], output: &[Tensor])

Forward pass

Source

fn grad(&self, input: &[Tensor], output_grad: &[Tensor], input_grad: &[Tensor])

Given the forward input value and backward output_grad, Update weight gradient. return backward input gradeint.

Source

fn get_values(&self) -> Vec<Tensor>

access weight values

Source

fn set_values(&self, v: &[Tensor])

Source

fn get_grads(&self) -> Vec<Tensor>

access gradient values

Source

fn as_any(&self) -> &dyn Any

Trait Implementations§

Source§

impl Serialize for Box<dyn OpTrait>

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more

Implementors§

Source§

impl OpTrait for ArgSort

Source§

impl OpTrait for EqElem

Source§

impl OpTrait for Equal

Source§

impl OpTrait for Ge

Source§

impl OpTrait for Gt

Source§

impl OpTrait for Le

Source§

impl OpTrait for Lt

Source§

impl OpTrait for MaxPair

Source§

impl OpTrait for MinPair

Source§

impl OpTrait for Ne

Source§

impl OpTrait for Conv1d

Source§

impl OpTrait for Conv2d

Source§

impl OpTrait for Abs

Source§

impl OpTrait for Acos

Source§

impl OpTrait for Asin

Source§

impl OpTrait for Atan

Source§

impl OpTrait for Ceil

Source§

impl OpTrait for Cos

Source§

impl OpTrait for Cosh

Source§

impl OpTrait for Exp

Source§

impl OpTrait for Expm1

Source§

impl OpTrait for Floor

Source§

impl OpTrait for Frac

Source§

impl OpTrait for Log1p

Source§

impl OpTrait for Log1pexp

Source§

impl OpTrait for Log2

Source§

impl OpTrait for Log10

Source§

impl OpTrait for Log

Source§

impl OpTrait for Neg

Source§

impl OpTrait for Reciprocal

Source§

impl OpTrait for Round

Source§

impl OpTrait for Rsqrt

Source§

impl OpTrait for auto_diff::op::element::Sigmoid

Source§

impl OpTrait for Sign

Source§

impl OpTrait for Sin

Source§

impl OpTrait for Sinh

Source§

impl OpTrait for Sqrt

Source§

impl OpTrait for Tan

Source§

impl OpTrait for Tanh

Source§

impl OpTrait for Trunc

Source§

impl OpTrait for Cat

Source§

impl OpTrait for Chunk

Source§

impl OpTrait for ConditionalSelect

Source§

impl OpTrait for Gather

Source§

impl OpTrait for IndexExclude

Source§

impl OpTrait for IndexSelect

Source§

impl OpTrait for Permute

Source§

impl OpTrait for Repeat

Source§

impl OpTrait for Reshape

Source§

impl OpTrait for Split

Source§

impl OpTrait for Squeeze

Source§

impl OpTrait for Stack

Source§

impl OpTrait for T

Source§

impl OpTrait for Take

Source§

impl OpTrait for Unsqueeze

Source§

impl OpTrait for Det

Source§

impl OpTrait for Inv

Source§

impl OpTrait for NormalizeUnit

Source§

impl OpTrait for Tr

Source§

impl OpTrait for BiLinear

Source§

impl OpTrait for Linear

Source§

impl OpTrait for Add

Source§

impl OpTrait for Div

Source§

impl OpTrait for Matmul

Source§

impl OpTrait for Mul

Source§

impl OpTrait for Outer

Source§

impl OpTrait for Sub

Source§

impl OpTrait for BCEWithLogitsLoss

Source§

impl OpTrait for CrossEntropyLoss

Source§

impl OpTrait for MSELoss

Source§

impl OpTrait for ELU

Source§

impl OpTrait for ReLU

Source§

impl OpTrait for auto_diff::op::nonlinear::Sigmoid

Source§

impl OpTrait for Sine

Source§

impl OpTrait for MaxPool2d

Source§

impl OpTrait for Argmax

Source§

impl OpTrait for Argmin

Source§

impl OpTrait for Logsumexp

Source§

impl OpTrait for Max

Source§

impl OpTrait for Mean

Source§

impl OpTrait for Min

Source§

impl OpTrait for Prod

Source§

impl OpTrait for Std

Source§

impl OpTrait for Sum

Source§

impl OpTrait for Variance

Source§

impl OpTrait for View

Source§

impl OpTrait for GetPatch

Source§

impl OpTrait for SetPatch