TwoLayerQNN¶
- class TwoLayerQNN(num_qubits=None, feature_map=None, ansatz=None, observable=None, exp_val=None, quantum_instance=None, input_gradients=False)[source]¶
Bases:
OpflowQNN
Pending deprecation: Two Layer Quantum Neural Network consisting of a feature map, a ansatz, and an observable.
- Parameters:
num_qubits (int | None) -- The number of qubits to represent the network. If
None
is given, the number of qubits is derived from the feature map or ansatz. If neither of those is given, raises an exception. The number of qubits in the feature map and ansatz are adjusted to this number if required.feature_map (QuantumCircuit | None) -- The (parametrized) circuit to be used as a feature map. If
None
is given, theZZFeatureMap
is used if the number of qubits is larger than 1. For a single qubit two-layer QNN theZFeatureMap
circuit is used per default.ansatz (QuantumCircuit | None) -- The (parametrized) circuit to be used as an ansatz. If
None
is given, theRealAmplitudes
circuit is used.observable (OperatorBase | QuantumCircuit | None) -- 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 (ExpectationBase | None) -- The Expected Value converter to be used for the operator obtained from the feature map and ansatz.
quantum_instance (QuantumInstance | Backend | 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 is
False
by default, and must be explicitly set toTrue
for a proper gradient computation when usingTorchConnector
.
- Raises:
QiskitMachineLearningError -- Needs at least one out of
num_qubits
,feature_map
oransatz
to be given. Or the number of qubits in the feature map and/or ansatz can't be adjusted tonum_qubits
.
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