[−][src]Trait auto_diff::op::OpTrait
All op is OpTrait
Required methods
fn get_name(&self) -> String
fn apply(&mut self, input: &[&Tensor], output: &[&Tensor])
Forward pass
fn grad(
&self,
input: &[&Tensor],
output_grad: &[&Tensor],
input_grad: &[&Tensor]
)
&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.
fn get_values(&self) -> Vec<&Tensor>
access weight values
fn set_values(&self, v: &[Tensor])
fn get_grads(&self) -> Vec<&Tensor>
access gradient values
Implementors
impl OpTrait for Linear[src]
fn get_name(&self) -> String[src]
fn apply(&mut self, input: &[&Tensor], output: &[&Tensor])[src]
fn grad(
&self,
input: &[&Tensor],
output_grad: &[&Tensor],
input_grad: &[&Tensor]
)[src]
&self,
input: &[&Tensor],
output_grad: &[&Tensor],
input_grad: &[&Tensor]
)
fn get_values(&self) -> Vec<&Tensor>[src]
fn set_values(&self, v: &[Tensor])[src]
fn get_grads(&self) -> Vec<&Tensor>[src]
impl OpTrait for Add[src]
fn get_name(&self) -> String[src]
fn apply(&mut self, input: &[&Tensor], output: &[&Tensor])[src]
fn grad(
&self,
input: &[&Tensor],
output_grad: &[&Tensor],
input_grad: &[&Tensor]
)[src]
&self,
input: &[&Tensor],
output_grad: &[&Tensor],
input_grad: &[&Tensor]
)
fn get_values(&self) -> Vec<&Tensor>[src]
fn get_grads(&self) -> Vec<&Tensor>[src]
fn set_values(&self, v: &[Tensor])[src]
impl OpTrait for Div[src]
fn get_name(&self) -> String[src]
fn apply(&mut self, input: &[&Tensor], output: &[&Tensor])[src]
fn grad(
&self,
input: &[&Tensor],
output_grad: &[&Tensor],
input_grad: &[&Tensor]
)[src]
&self,
input: &[&Tensor],
output_grad: &[&Tensor],
input_grad: &[&Tensor]
)
fn get_values(&self) -> Vec<&Tensor>[src]
fn get_grads(&self) -> Vec<&Tensor>[src]
fn set_values(&self, v: &[Tensor])[src]
impl OpTrait for Mul[src]
fn get_name(&self) -> String[src]
fn apply(&mut self, input: &[&Tensor], output: &[&Tensor])[src]
fn grad(
&self,
input: &[&Tensor],
output_grad: &[&Tensor],
input_grad: &[&Tensor]
)[src]
&self,
input: &[&Tensor],
output_grad: &[&Tensor],
input_grad: &[&Tensor]
)
fn get_values(&self) -> Vec<&Tensor>[src]
fn get_grads(&self) -> Vec<&Tensor>[src]
fn set_values(&self, v: &[Tensor])[src]
impl OpTrait for Sub[src]
fn get_name(&self) -> String[src]
fn apply(&mut self, input: &[&Tensor], output: &[&Tensor])[src]
fn grad(
&self,
input: &[&Tensor],
output_grad: &[&Tensor],
input_grad: &[&Tensor]
)[src]
&self,
input: &[&Tensor],
output_grad: &[&Tensor],
input_grad: &[&Tensor]
)
fn get_values(&self) -> Vec<&Tensor>[src]
fn get_grads(&self) -> Vec<&Tensor>[src]
fn set_values(&self, v: &[Tensor])[src]
impl OpTrait for BCEWithLogitsLoss[src]
fn get_name(&self) -> String[src]
fn apply(&mut self, input: &[&Tensor], output: &[&Tensor])[src]
The first is the prediction, the second input is the label
fn grad(
&self,
input: &[&Tensor],
output_grad: &[&Tensor],
input_grad: &[&Tensor]
)[src]
&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.
fn get_values(&self) -> Vec<&Tensor>[src]
access weight values
fn set_values(&self, v: &[Tensor])[src]
fn get_grads(&self) -> Vec<&Tensor>[src]
access gradient values
impl OpTrait for MSELoss[src]
fn get_name(&self) -> String[src]
fn apply(&mut self, input: &[&Tensor], output: &[&Tensor])[src]
fn grad(
&self,
input: &[&Tensor],
output_grad: &[&Tensor],
input_grad: &[&Tensor]
)[src]
&self,
input: &[&Tensor],
output_grad: &[&Tensor],
input_grad: &[&Tensor]
)