pub trait QMLLayer:
Debug
+ Send
+ Sync {
// Required methods
fn forward(
&mut self,
input: &Array1<Complex64>,
) -> Result<Array1<Complex64>>;
fn backward(&mut self, gradient: &Array1<f64>) -> Result<Array1<f64>>;
fn get_parameters(&self) -> Array1<f64>;
fn set_parameters(&mut self, parameters: &Array1<f64>);
fn get_depth(&self) -> usize;
fn get_gate_count(&self) -> usize;
fn get_num_parameters(&self) -> usize;
}Expand description
Trait for QML layers
Required Methods§
Sourcefn forward(&mut self, input: &Array1<Complex64>) -> Result<Array1<Complex64>>
fn forward(&mut self, input: &Array1<Complex64>) -> Result<Array1<Complex64>>
Forward pass through the layer
Sourcefn backward(&mut self, gradient: &Array1<f64>) -> Result<Array1<f64>>
fn backward(&mut self, gradient: &Array1<f64>) -> Result<Array1<f64>>
Backward pass through the layer
Sourcefn get_parameters(&self) -> Array1<f64>
fn get_parameters(&self) -> Array1<f64>
Get layer parameters
Sourcefn set_parameters(&mut self, parameters: &Array1<f64>)
fn set_parameters(&mut self, parameters: &Array1<f64>)
Set layer parameters
Sourcefn get_gate_count(&self) -> usize
fn get_gate_count(&self) -> usize
Get gate count
Sourcefn get_num_parameters(&self) -> usize
fn get_num_parameters(&self) -> usize
Get number of parameters