Changelog#

Generated from merged pull requests with build_tools/changelog.py; see that file’s docstring for how classification works.

0.1.0#

First release on PyPI. PyQit puts a Trainer, a DataModule and model classes on top of PennyLane QNodes, so training a variational circuit is a fit call. PyTorch and PyTorch Lightning are optional: pyqit.set_backend("torch") moves the same code onto Lightning.

What is added:

  • Models. VQCClassifier, VQCRegressor, DataReuploadingClassifier and the hybrid DressedQuantumClassifier. QuantumLayer, DenseLayer and DenseClassifier are the stages hybrids are built from.

  • Circuits. Embeddings AngleEmbedding, HadamardAngleEmbedding, AmplitudeEmbedding, IQPEmbedding and ZZFeatureMap; ansatzes SELAnsatz, RealAmplitudesAnsatz, EfficientSU2Ansatz, SimplifiedTwoDesignAnsatz, BasicEntanglerAnsatz and CNOTLadderAnsatz; measurements measure_probs, measure_expval_z, measure_expval_x and measure_parity_z.

  • Training. Trainer with per-weight-group learning rates, diff_method selection, and a check_bp=True barren-plateau pre-flight. EarlyStopping, ModelCheckpoint and HistoryCallback work on both backends; checkpoints hold weights, optimizer state and history, and resume from any of them.

  • Data. DataModule splits, normalizes on the train split only, and prescales inputs for the model’s embedding. DataModule.save/load and for_prediction reuse a fitted DataModule on new rows.

  • Pipelines. QuantumPipeline chains stages sequentially, as an ensemble, or trains them jointly as one hybrid network.

  • Losses. MSELoss, HingeLoss, CrossEntropyLoss, or any callable.

  • Devices. Any PennyLane device name, lightning.qubit and the PennyLane-Qiskit plugin included, via the qiskit extra.

Bug fixes#

Enhancements#

Documentation#

Maintenance#

  • [Dependabot](deps): Update scikit-base requirement from <1.1.0 to <1.2.0 (#18) by @app/dependabot

  • [Dependabot](deps): Bump actions/setup-python from 6 to 7 (#16) by @app/dependabot

  • [Dependabot](deps): Bump actions/checkout from 6 to 7 (#15) by @app/dependabot

  • [Dependabot](deps): Update scikit-base requirement from <0.14.0 to <1.1.0 (#12) by @app/dependabot

  • [Dependabot](deps-dev): Update setuptools requirement from >=70.0.0 to >=82.0.1 (#11) by @app/dependabot

  • [Dependabot](deps-dev): Update torch requirement from !=2.0.1,<3.0.0,>=2.0.0 to !=2.0.1,>=2.11.0,<3.0.0 (#10) by @app/dependabot

  • [Dependabot](deps): Update scikit-learn requirement from <2.0,>=1.2 to >=1.7.2,<2.0 (#9) by @app/dependabot

  • [Dependabot](deps): Update pandas requirement from <3.1.0,>=1.3.0 to >=2.3.3,<3.1.0 (#8) by @app/dependabot

  • [Dependabot](deps-dev): Update ipywidgets requirement from <9.0.0,>=8.0.1 to >=8.1.8,<9.0.0 (#7) by @app/dependabot

Needs a label#

Contributors#

@phoeenniixx