Saving and loading calibration data¶
It is possible to save calibration data and, optionally, re-load it at a later time. Let us generate some calibration data and save it.
from qiskit.providers.fake_provider import FakeCasablanca
import mthree
backend = FakeCasablanca()
mit = mthree.M3Mitigation(backend)
mit.cals_from_system([1, 3, 5], cals_file='my_cals.json')
mit.single_qubit_cals
[None,
array([[0.9921875 , 0.02404785],
[0.0078125 , 0.97595215]]),
None,
array([[0.9855957 , 0.01721191],
[0.0144043 , 0.98278809]]),
None,
array([[0.99157715, 0.02636719],
[0.00842285, 0.97363281]]),
None]
or,
mit = mthree.M3Mitigation(backend)
mit.cals_from_system([1, 3, 5])
mit.cals_to_file('my_cals.json')
We can then load this data at a later point in time using:
import mthree
mit2 = mthree.M3Mitigation()
mit2.cals_from_file('my_cals.json')
mit2.single_qubit_cals
[None,
array([[0.99279785, 0.02160645],
[0.00720215, 0.97839355]]),
None,
array([[0.98681641, 0.01843262],
[0.01318359, 0.98156738]]),
None,
array([[0.9934082 , 0.02819824],
[0.0065918 , 0.97180176]]),
None]