API Reference
Package Root
The root package exposes the default backend wrappers and the backend-independent estimator classes.
- class qlearn.HybridClassification(model=None, backend='pennylane', transformer=None, transform_kwargs=None)
Bases:
object- fit(features, labels, model=None, random_state=42, **transform_kwargs)
- predict(features, **transform_kwargs)
- train(features, labels, model=None, random_state=42, **transform_kwargs)
- class qlearn.HybridClustering(model=None, backend='pennylane', transformer=None, transform_kwargs=None)
Bases:
object- fit(data, n_clusters=0, model=None, random_state=42, **transform_kwargs)
- fit_predict(data, n_clusters=0, model=None, random_state=42, **transform_kwargs)
- predict(data, **transform_kwargs)
- train(data, n_clusters=0, model=None, random_state=42, **transform_kwargs)
- class qlearn.HybridRegression(model=None, backend='pennylane', transformer=None, transform_kwargs=None)
Bases:
object- fit(features, labels, model=None, random_state=42, **transform_kwargs)
- predict(features, **transform_kwargs)
- train(features, labels, model=None, random_state=42, **transform_kwargs)
- class qlearn.VariationalQuantumClassifier(*, backend='pennylane', vqc=None, target_encoder=None, prediction_decoder=None, probability_decoder=None, fit_kwargs=None)
Bases:
_ClassMetadataMixin,BaseVariationalQuantumWrapper- decode_predictions(outputs, features=None)
- default_fit_kwargs(features, labels)
- default_prediction_decoder(outputs, features=None)
- default_target_encoder(labels, features=None)
- fit(features, labels, **kwargs)
- predict_proba(features, **kwargs)
- class qlearn.VariationalQuantumRegressor(*, backend='pennylane', vqc=None, target_encoder=None, prediction_decoder=None, fit_kwargs=None)
Bases:
BaseVariationalQuantumWrapper- decode_predictions(outputs, features=None)
- default_fit_kwargs(features, labels)
- default_prediction_decoder(outputs, features=None)
- default_target_encoder(labels, features=None)
- fit(features, labels, **kwargs)
Default Backend Wrappers
The top-level modules resolve to the default backend, which is currently Pennylane.
- class qlearn.vqc_classifier.VariationalQuantumClassifier(*, backend='pennylane', vqc=None, target_encoder=None, prediction_decoder=None, probability_decoder=None, fit_kwargs=None)
Bases:
_ClassMetadataMixin,BaseVariationalQuantumWrapper- decode_predictions(outputs, features=None)
- default_fit_kwargs(features, labels)
- default_prediction_decoder(outputs, features=None)
- default_target_encoder(labels, features=None)
- fit(features, labels, **kwargs)
- predict_proba(features, **kwargs)
- class qlearn.vqc_regressor.VariationalQuantumRegressor(*, backend='pennylane', vqc=None, target_encoder=None, prediction_decoder=None, fit_kwargs=None)
Bases:
BaseVariationalQuantumWrapper- decode_predictions(outputs, features=None)
- default_fit_kwargs(features, labels)
- default_prediction_decoder(outputs, features=None)
- default_target_encoder(labels, features=None)
- fit(features, labels, **kwargs)
These wrappers sit on top of the generic variational circuit API:
qlearn.vqc: default-backendVariationalQuantumCircuitqlearn.vqc_classifier: automatic class encoding plus probability-based decodingqlearn.vqc_regressor: automatic target scaling plus inverse-scaling at prediction time
Hybrid Estimators
- class qlearn.classification.HybridClassification(model=None, backend='pennylane', transformer=None, transform_kwargs=None)
Bases:
object- fit(features, labels, model=None, random_state=42, **transform_kwargs)
- predict(features, **transform_kwargs)
- train(features, labels, model=None, random_state=42, **transform_kwargs)
- class qlearn.clustering.HybridClustering(model=None, backend='pennylane', transformer=None, transform_kwargs=None)
Bases:
object- fit(data, n_clusters=0, model=None, random_state=42, **transform_kwargs)
- fit_predict(data, n_clusters=0, model=None, random_state=42, **transform_kwargs)
- predict(data, **transform_kwargs)
- train(data, n_clusters=0, model=None, random_state=42, **transform_kwargs)
- class qlearn.regression.HybridRegression(model=None, backend='pennylane', transformer=None, transform_kwargs=None)
Bases:
object- fit(features, labels, model=None, random_state=42, **transform_kwargs)
- predict(features, **transform_kwargs)
- train(features, labels, model=None, random_state=42, **transform_kwargs)
Pennylane Backend
- class qlearn.pennylane.qfm.QuantumFeatureMap
Bases:
QuantumFeatureMapBase- static default_feature_map(data, qubits)
- transform(data=None, feature_map=None, qubits=None, device=None, **_unused)
Transform classical features into quantum features.
- class qlearn.pennylane.vqc.VariationalQuantumCircuit
Bases:
VariationalQuantumCircuitBase- static default_ansatz(features, params, n_qubits)
- fit(features, labels, params=None, batch_size=32, epochs=1, n_qubits=None, ansatz=None, optimizer=None, device=None, diff_method='backprop', measurement='state', measurement_wires=None, loss='fidelity', **_unused)
Train the circuit parameters.
- forward(features, params, n_qubits, device, ansatz=None, measurement='state', measurement_wires=None, diff_method='backprop')
- generator(features, params, n_qubits, device, ansatz=None, diff_method='backprop')
- predict(features, n_qubits=None, device=None, diff_method='backprop', measurement=None, measurement_wires=None, **_unused)
Run inference with the trained circuit.
- train(*args, **kwargs)
Qiskit Backend
The Qiskit VariationalQuantumCircuit is not included in the public API yet because it is not implemented.