回路をディスクに保存する
Package versions
このページのコードは、以下の要件を使用して開発されました。 これらのバージョン以上を使用することを推奨します。
qiskit[all]~=2.5.2
QPYシリアライゼーションを使用して、Circuitをファイルに保存します。QPYファイルは完全なQiskit Circuitオブジェクトを保存し、新しいバージョンのQiskitと互換性があります(ただし、古いバージョンのQiskitとは必ずしも互換性があるとは限りません)。
例として、以下のセルでシンプルな量子回路を作成します。
# Added by doQumentation — installs the packages this notebook needs if they are missing
import importlib.util
_needed = {"qiskit": "qiskit"}
_missing = [pip for module, pip in _needed.items()
if importlib.util.find_spec(module) is None]
# One at a time, so a package that fails to install does not block the others
for _pip in _missing:
%pip install -q {_pip}
if not _missing:
print("\u2713 All required packages are installed")
from qiskit import QuantumCircuit
qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
qc.measure_all()
このファイルをディスクに保存するには、qpy.dump関数を使用します。回路のリストを保存することもできます。
from qiskit import qpy
with open("test.qpy", "wb") as file:
qpy.dump(qc, file)
これで回路がtest.qpyファイルに保存されました。Pythonカーネルを再起動した場合、qpy.load関数を使って回路を再度ロードできます。これは、1つの回路しかシリアライズしていなくても、常に回路のリストを返すことに注意してください。
with open("test.qpy", "rb") as handle:
qc = qpy.load(handle)
qc[0].draw("mpl")