This package provides a library to define, train and deploy Quantum Machine Learning models as defined in Polyadic Quantum Classifier — arXiv:2007.14044
This library has been used to train a qmodel with the Iris flower dataset on IBM quantum computers: iris.entropicalabs.io
The quantum circuits can run on top of any quantum computer provider. As for now, it implements interfaces for a fast simulator, manyq, and Qiskit.
From PyPI, at the command line:
pip install polyadicqml
Installing latest stable from github:
git clone https://github.com/entropicalabs/polyadicQML.git polyadicqml cd polyadicqml pip install -U .
You can find a quickstart guide, the tutorial and the module references in the docs.
Training a model on a simulator and testing it on a real quantum computer can be done in a few lines:
# Define the circuit structure
make_circuit(bdr, x, params):
...
# Prepare a circuit simulator:
qc = mqCircuitML(make_circuit=make_circuit,
nbqbits=nbqbits, nbparams=nbparams)
# Instanciate and train the model
model = Classifier(qc, bitstr).fit(input_train, target_train)
# Prepare to run the circuit on an IBMq machine:
backend = Backends("ibmq_ourense", hub="ibm-q")
qc2 = qkCircuitML(
make_circuit=make_circuit,
nbqbits=nbqbits, nbparams=nbparams,
backend=backend
)
# Change the model backend and run it
model.set_circuit(qc2)
model.nbshots = 300
model.job_size = 30
pred_test = model(input_test)
You can find out more in the documentation, where you will find tutorials and examples. A quickstart through examples can be found in the examples folder, as well as on the website. As an introduction to the algorithm you can check out this video presentation.