Lumaktaw sa pangunahing nilalaman

Panimula sa mga opsyon

Maaari kang gumamit ng mga opsyon para i-customize ang mga Qiskit Runtime 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
from qiskit_ibm_runtime import EstimatorV2 as Estimator
from qiskit_ibm_runtime.options 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
from qiskit_ibm_runtime import EstimatorV2 as 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
from qiskit_ibm_runtime import EstimatorV2 as 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