Przejdź do głównej treści
Ten projekt jest w wersji beta. Znalazłeś błąd? Otwórz zgłoszenie na GitHub. Masz pytanie lub pomysł? Zapytaj w Discussions — chętnie poznamy Twoją opinię!
Jak oceniasz jakość tłumaczenia tej strony?

Zapisywanie obwodów na dysku

Wersje pakietów

Kod na tej stronie powstał przy użyciu poniższych wymagań. Zalecamy korzystanie z tych wersji lub nowszych.

qiskit[all]~=2.6.1

Użyj serializacji QPY, aby zapisać swój obwód do pliku. Pliki QPY przechowują pełny obiekt obwodu Qiskit i będą kompatybilne z nowszymi wersjami Qiskit (choć niekoniecznie ze starszymi).

Aby zademonstrować działanie, poniższa komórka tworzy prosty obwód kwantowy.

# 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()

Aby zapisać ten plik na dysku, użyj funkcji qpy.dump. Możesz też zapisać listę obwodów.

from qiskit import qpy

with open("test.qpy", "wb") as file:
qpy.dump(qc, file)

Ten obwód jest teraz zapisany w pliku test.qpy. Jeśli zrestartujesz jądro Pythona, możesz ponownie wczytać obwód za pomocą funkcji qpy.load. Pamiętaj, że ta funkcja zawsze zwraca listę obwodów, nawet jeśli zserializowałeś tylko jeden obwód.

with open("test.qpy", "rb") as handle:
qc = qpy.load(handle)

qc[0].draw("mpl")

Wynik poprzedniej komórki kodu