QMLLayer

Trait QMLLayer 

Source
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§

Source

fn forward(&mut self, input: &Array1<Complex64>) -> Result<Array1<Complex64>>

Forward pass through the layer

Source

fn backward(&mut self, gradient: &Array1<f64>) -> Result<Array1<f64>>

Backward pass through the layer

Source

fn get_parameters(&self) -> Array1<f64>

Get layer parameters

Source

fn set_parameters(&mut self, parameters: &Array1<f64>)

Set layer parameters

Source

fn get_depth(&self) -> usize

Get circuit depth

Source

fn get_gate_count(&self) -> usize

Get gate count

Source

fn get_num_parameters(&self) -> usize

Get number of parameters

Implementors§