class VQR(num_qubits=None, feature_map=None, ansatz=None, observable=None, loss='squared_error', optimizer=None, warm_start=False, quantum_instance=None, initial_point=None, callback=None, *, estimator=None)[소스]

기반 클래스: NeuralNetworkRegressor

A convenient Variational Quantum Regressor implementation.

  • num_qubits (int | None) – The number of qubits for the underlying QNN. If None then the number of qubits is derived from the feature map or ansatz, but if neither of these are given an error is raised. 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 for the underlying QNN. If None the ZZFeatureMap is used if the number of qubits is larger than 1. For a single qubit regression problem the ZFeatureMap is used by default.

  • ansatz (QuantumCircuit | None) – The (parametrized) circuit to be used as an ansatz for the underlying QNN. If None then the RealAmplitudes circuit is used.

  • observable (QuantumCircuit | OperatorBase | BaseOperator | PauliSumOp | None) – The observable to be measured in the underlying QNN. If None, use the default \(Z^{\otimes num\_qubits}\) observable. If quantum_instance is set and the estimator is None then the observable must be of type QuantumCircuit or OperatorBase. Otherwise, the type must be either BaseOperator or PauliSumOp.

  • loss (str | Loss) – A target loss function to be used in training. Default is squared error.

  • optimizer (Optimizer | Minimizer | None) – An instance of an optimizer or a callable to be used in training. Refer to Minimizer for more information on the callable protocol. When None defaults to SLSQP.

  • warm_start (bool) – Use weights from previous fit to start next fit.

  • quantum_instance (QuantumInstance | None) – Deprecated: If a quantum instance is set and estimator is None, the underlying QNN will be of type TwoLayerQNN, and the quantum instance will be used to compute the neural network’s results. If an estimator instance is also set, it will override the quantum_instance parameter and a EstimatorQNN will be used instead.

  • initial_point (np.ndarray | None) – Initial point for the optimizer to start from.

  • callback (Callable[[np.ndarray, float], None] | None) – A reference to a user’s callback function that has two parameters and returns None. The callback can access intermediate data during training. On each iteration an optimizer invokes the callback and passes current weights as an array and a computed value as a float of the objective function being optimized. This allows to track how well optimization / training process is going on.

  • estimator (BaseEstimator | None) – An estimator to be used to evaluate expectation values of the observable. If None and quantum instance is not set, the qiskit.primitives.Estimator is used. The underlying QNN will be of type EstimatorQNN, and the estimator primitive will be used to compute the neural network’s results.

예외 발생:
  • QiskitMachineLearningError – Needs at least one out of num_qubits, feature_map or ansatz to be given. Or the number of qubits in the feature map and/or ansatz can’t be adjusted to num_qubits.

  • ValueError – if the type of the observable is not compatible with quantum_instance or estimator.



Returns the used ansatz.


Return the callback.


Returns the used feature map.


Returns a resulting object from the optimization procedure.


Returns current initial point


Returns the underlying neural network.


Returns the underlying neural network.


Returns the number of qubits used by ansatz and feature map.


Returns an optimizer to be used in training.


Returns the warm start flag.


Returns trained weights as a numpy array.


fit(X, y)

Fit the model to data matrix X and target(s) y.


Loads a model from the file.


Predict using the network specified to the model.


Saves this model to the specified file.

score(X, y[, sample_weight])

Returns a score of this model given samples and true values for the samples.