pub trait OpTrait {
fn get_name(&self) -> String;
fn get_input_size(&self) -> usize;
fn get_output_size(&self) -> usize;
fn apply(&mut 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 call(&mut self, input: &[&Tensor]) -> Vec<Tensor> { ... }
}
Expand description
All op is OpTrait
Required methods
fn get_input_size(&self) -> usize
fn get_output_size(&self) -> usize
Given the forward input value and backward output_grad, Update weight gradient. return backward input gradeint.
fn get_values(&self) -> Vec<&Tensor>
fn get_values(&self) -> Vec<&Tensor>
access weight values