Lumaktaw sa pangunahing nilalaman
Ang proyektong ito ay nasa beta. Nakakita ng bug? Mag-bukas ng GitHub issue. May tanong o ideya? Magtanong sa Discussions — gusto naming marinig ang iyong feedback!
Gaano kaganda ang kalidad ng pagsasalin sa pahinang ito?

Panimula sa mga opsyon

Maaari kang gumamit ng mga opsyon para i-customize ang mga IBM Quantum primitive ayon sa iyong pangangailangan.

Istraktura​

Kapag tinatawagan ang mga primitive, maaari kang magpasa ng mga opsyon sa pamamagitan ng isang options class o isang dictionary. Ang mga madalas gamitin na opsyon, tulad ng resilience_level, ay nasa unang antas. Ang ibang mga opsyon ay nakagrupo sa mga kategorya, tulad ng execution. Tukuyin ang mga opsyon sa ganitong format: options.option.sub-option.sub-sub-option = choice. Halimbawa: options.dynamical_decoupling.enable = True.

Mga default​

Kung hindi mo tinukoy ang halaga para sa isang opsyon, bibigyan ito ng espesyal na halaga na Unset at gagamitin ang default na halaga ng server. Kaya naman, magiging pareho ang default na halaga anuman ang bersyon ng iyong code.

Inilista ng mga talahanayan sa seksyon na "Buod ng mga options class" sa gabay na "mga opsyon" ng bawat primitive ang mga default na halaga.

Itakda ang mga opsyon​

Maaaring tukuyin ang mga opsyon bago pa itayo ang isang primitive at ipasa ito sa primitive bilang isang instance ng options class o isang dictionary. Gumagawa ng kopya ang primitive ng mga ito, na nangangahulugang ang pagbabago ng orihinal na dictionary o options instance ay hindi nakakaapekto sa mga opsyon na pag-aari ng primitive.

Bukod pa rito, maaari mong baguhin ang mga opsyon pagkatapos magtayo ng primitive. Gamitin ang daloy ng trabaho na pinaka-angkop para sa iyong application.

Mga tala tungkol sa pagtukoy ng mga opsyon ng primitive
  • Maaari mong makita ang mga available na opsyon sa panahon ng o pagkatapos ng pagsisimula ng primitive.
  • Kung hindi mo tinukoy ang halaga para sa isang opsyon, bibigyan ito ng espesyal na halaga na Unset at gagamitin ang mga default ng server.
  • Ang attribute na options ay ang dataclass na uri ng Python. Maaari mong gamitin ang built-in na paraan na asdict para i-convert ito sa isang dictionary.

options class​

Kapag gumagawa ng instance ng primitive class, maaari kang magpasa ng instance ng options class. Ang mga opsyon na iyon ay ilalapat pagkatapos kapag ginamit mo ang run() para magsagawa ng kalkulasyon. Tukuyin ang mga opsyon sa ganitong format: options.option.sub-option.sub-sub-option = choice. Halimbawa: options.dynamical_decoupling.enable = True.

Tingnan ang SamplerOptions o EstimatorOptions para sa kumpletong detalye tungkol sa class.

Ginagamit ng sumusunod na halimbawa ang Estimator primitive, ngunit ang syntax para sa ibang mga primitive ay katulad.

from qiskit_ibm_runtime import QiskitRuntimeService

# Legacy server-side primitive before qiskit-ibm-runtime 0.50.0
# from qiskit_ibm_runtime import Estimator
# from qiskit_ibm_runtime.options import EstimatorOptions

# Client-side primitive introduced in qiskit-ibm-runtime 0.50.0
from qiskit_ibm_runtime.executor_estimator import Estimator
from qiskit_ibm_runtime.options_models import EstimatorOptions

service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)

options = EstimatorOptions(
resilience_level=2,
resilience={"zne_mitigation": True, "zne": {"noise_factors": [1, 3, 5]}},
)

# or...
options = EstimatorOptions()
options.resilience_level = 2
options.resilience.zne_mitigation = True
options.resilience.zne.noise_factors = [1, 3, 5]

estimator = Estimator(mode=backend, options=options)

Dictionary​

Maaari kang tumukoy ng mga opsyon bilang isang dictionary kapag nagsi-initialize ng primitive.

Ginagamit ng sumusunod na halimbawa ang Estimator primitive, ngunit ang syntax para sa ibang mga primitive ay katulad.

from qiskit_ibm_runtime import QiskitRuntimeService

# Legacy server-side primitive before qiskit-ibm-runtime 0.50.0
# from qiskit_ibm_runtime import Estimator

# Client-side primitive introduced in qiskit-ibm-runtime 0.50.0
from qiskit_ibm_runtime.executor_estimator import Estimator

service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)

# Setting options during initialization
estimator = Estimator(
backend,
options={
"resilience_level": 2,
"resilience": {
"zne_mitigation": True,
"zne": {"noise_factors": [1, 3, 5]},
},
},
)

I-update ang mga opsyon pagkatapos ng pagsisimula​

Maaari mong tukuyin ang mga opsyon sa ganitong format: _primitive_.options.option.sub-option.sub-sub-option = choice para mapakinabangan ang auto-complete, o gamitin ang paraan na update() para sa maramihang pag-update.

Hindi na kailangang i-instantiate ang options class ng primitive (EstimatorOptions o SamplerOptions) kung nagtatakda ka ng mga opsyon pagkatapos ng pagsisimula ng primitive.

Ginagamit ng sumusunod na halimbawa ang Estimator primitive, ngunit ang syntax para sa ibang mga primitive ay katulad.

from qiskit_ibm_runtime import QiskitRuntimeService

# Legacy server-side primitive before qiskit-ibm-runtime 0.50.0
# from qiskit_ibm_runtime import Estimator

# Client-side primitive introduced in qiskit-ibm-runtime 0.50.0
from qiskit_ibm_runtime.executor_estimator import Estimator

service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)

estimator = Estimator(mode=backend)

# Setting options after initialization
# This uses auto-complete.
estimator.options.default_precision = 0.01
# This does bulk update.
estimator.options.update(
default_precision=0.02, resilience={"zne_mitigation": True}
)

Mga susunod na hakbang​

Mga rekomendasyon