TwoLayerQNN¶
- class TwoLayerQNN(num_qubits=None, feature_map=None, ansatz=None, observable=None, exp_val=None, quantum_instance=None, input_gradients=False)[source]¶
Bases:
qiskit_machine_learning.neural_networks.opflow_qnn.OpflowQNN
Two Layer Quantum Neural Network consisting of a feature map, a ansatz, and an observable.
- Parameters
num_qubits (
Optional
[int
]) – The number of qubits to represent the network, if None and neither the feature_map not the ansatz are given, raise exception.feature_map (
Optional
[QuantumCircuit
]) – The (parametrized) circuit to be used as feature map. If None is given, the ZZFeatureMap is used.ansatz (
Optional
[QuantumCircuit
]) – The (parametrized) circuit to be used as ansatz. If None is given, the RealAmplitudes circuit is used.observable (
Optional
[OperatorBase
]) – observable to be measured to determine the output of the network. If None is given, the Z^{otimes num_qubits} observable is used.exp_val (
Optional
[ExpectationBase
]) – The Expected Value converter to be used for the operator obtained from the feature map and ansatz.quantum_instance (
Union
[Backend
,QuantumInstance
,None
]) – The quantum instance to evaluate the network.input_gradients (
bool
) – Determines whether to compute gradients with respect to input data. Note that this parameter isFalse
by default, and must be explicitly set toTrue
for a proper gradient computation when usingTorchConnector
.
- Raises
QiskitMachineLearningError – In case of inconsistent num_qubits, feature_map, ansatz.
Attributes
Returns the used ansatz.
Returns the underlying quantum circuit.
Returns the used feature map.
Returns the number of qubits used by ansatz and feature map.
Methods