Skip to main content

A library for quantum machine learning following the scikit-learnstandard.

Project description

sQUlearn

sQUlearn is a user-friendly, NISQ-ready Python library for quantum machine learning (QML), designed for seamless integration with classical machine learning tools like scikit-learn. The library's dual-layer architecture serves both QML researchers and practitioners, enabling efficient prototyping, experimentation, and pipelining. sQUlearn provides a comprehensive tool set that includes both quantum kernel methods and quantum neural networks, along with features like customizable data encoding strategies, automated execution handling, and specialized kernel regularization techniques. By focusing on NISQ-compatibility and end-to-end automation, sQUlearn aims to bridge the gap between current quantum computing capabilities and practical machine learning applications.

sQUlearn offers scikit-learn compatible high-level interfaces for various kernel methods and QNNs. They build on top of the low-level interfaces of the QNN engine and the quantum kernel engine. The executor is used to run experiments on simulated and real backends of the Qiskit or PennyLane frameworks.

sQUlearn schematic


Prerequisites

The package requires at least Python 3.9.

Install sQUlearn

Stable Release

To install the stable release version of sQUlearn, run the following command:

pip install squlearn

Alternatively, you can install sQUlearn directly from GitHub via

pip install git+ssh://git@github.com:sQUlearn/squlearn.git

Examples

There are several more elaborate examples available in the folder ./examples which display the features of this package. Tutorials for beginners can be found at ./examples/tutorials.

To install the required packages, run

pip install .[examples]

Contribute to sQUlearn

Thanks for considering contributing to sQUlearn! Please read our contribution guidelines before you submit a pull request.


License

sQUlearn is released under the Apache License 2.0

Cite sQUlearn

If you use sQUlearn in your work, please cite our paper:

Kreplin, D. A., Willmann, M., Schnabel, J., Rapp, F., Hagelüken, M., & Roth, M. (2023). sQUlearn - A Python Library for Quantum Machine Learning. https://doi.org/10.48550/arXiv.2311.08990

Contact

This project is maintained by the quantum computing group at the Fraunhofer Institute for Manufacturing Engineering and Automation IPA.

http://www.ipa.fraunhofer.de/quantum

For general questions regarding sQUlearn, use the GitHub Discussions or feel free to contact sQUlearn@gmail.com.


Acknowledgements

This project was supported by the German Federal Ministry of Economic Affairs and Climate Action through the projects AutoQML (grant no. 01MQ22002A) and AQUAS (grant no. 01MQ22003D), as well as the German Federal Ministry of Education and Research through the project H2Giga Degrad-EL3 (grant no. 03HY110D).


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

squlearn-0.8.0.tar.gz (4.0 MB view details)

Uploaded Source

Built Distribution

squlearn-0.8.0-py3-none-any.whl (259.3 kB view details)

Uploaded Python 3

File details

Details for the file squlearn-0.8.0.tar.gz.

File metadata

  • Download URL: squlearn-0.8.0.tar.gz
  • Upload date:
  • Size: 4.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for squlearn-0.8.0.tar.gz
Algorithm Hash digest
SHA256 4427b026a7020eae98f71f078887d791511bacd19b5424a6d3b7bc6ffd51e799
MD5 4d7057bec0e302bcfea678eb0397398c
BLAKE2b-256 61855a8c4f8a4701997545b041a34736c099a7c9e70c6267ed089646643f3e10

See more details on using hashes here.

File details

Details for the file squlearn-0.8.0-py3-none-any.whl.

File metadata

  • Download URL: squlearn-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 259.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for squlearn-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f255c97c02117688428b2af3468d40376299320dd52efab3e087076ce45f6ef9
MD5 390f70680702b6ded508e4ef7cbb938e
BLAKE2b-256 40b3c97ea623df479a0036a61d02b40511ebf2fdbde5d78475cc788c8c06383a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page