メインコンテンツへスキップ
このプロジェクトはベータ版です。バグを見つけましたか?GitHub Issueを開く。質問やアイデアがありますか?Discussionsで質問する — フィードバックをお待ちしています!
このページの翻訳品質はいかがですか?

回路をディスクに保存する

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")

Output of the previous code cell