pub struct QNNBuilder { /* private fields */ }Expand description
Builder for quantum neural networks
Provides a fluent API to construct a QuantumNeuralNetwork by adding
encoding, variational, entanglement, and measurement layers.
§Examples
use quantrs2_ml::qnn::QNNBuilder;
let qnn = QNNBuilder::new()
.with_qubits(2)
.with_input_dim(2)
.with_output_dim(1)
.add_encoding_layer(2)
.add_variational_layer(4)
.build()
.expect("valid QNN configuration");
assert_eq!(qnn.num_qubits, 2);Implementations§
Source§impl QNNBuilder
impl QNNBuilder
Sourcepub fn with_qubits(self, num_qubits: usize) -> Self
pub fn with_qubits(self, num_qubits: usize) -> Self
Sets the number of qubits
Sourcepub fn with_input_dim(self, input_dim: usize) -> Self
pub fn with_input_dim(self, input_dim: usize) -> Self
Sets the input dimension
Sourcepub fn with_output_dim(self, output_dim: usize) -> Self
pub fn with_output_dim(self, output_dim: usize) -> Self
Sets the output dimension
Sourcepub fn add_encoding_layer(self, num_features: usize) -> Self
pub fn add_encoding_layer(self, num_features: usize) -> Self
Adds an encoding layer
Sourcepub fn add_layer(self, size: usize) -> Self
pub fn add_layer(self, size: usize) -> Self
Adds a layer (alias for add_encoding_layer for compatibility)
Sourcepub fn add_variational_layer(self, num_params: usize) -> Self
pub fn add_variational_layer(self, num_params: usize) -> Self
Adds a variational layer
Sourcepub fn add_entanglement_layer(self, connectivity: &str) -> Self
pub fn add_entanglement_layer(self, connectivity: &str) -> Self
Adds an entanglement layer
Sourcepub fn add_measurement_layer(self, measurement_basis: &str) -> Self
pub fn add_measurement_layer(self, measurement_basis: &str) -> Self
Adds a measurement layer
Sourcepub fn build(self) -> Result<QuantumNeuralNetwork>
pub fn build(self) -> Result<QuantumNeuralNetwork>
Builds the quantum neural network
Trait Implementations§
Source§impl Clone for QNNBuilder
impl Clone for QNNBuilder
Source§fn clone(&self) -> QNNBuilder
fn clone(&self) -> QNNBuilder
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for QNNBuilder
impl RefUnwindSafe for QNNBuilder
impl Send for QNNBuilder
impl Sync for QNNBuilder
impl Unpin for QNNBuilder
impl UnsafeUnpin for QNNBuilder
impl UnwindSafe for QNNBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.