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.
- 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
Unsetat gagamitin ang mga default ng server. - Ang attribute na
optionsay angdataclassna uri ng Python. Maaari mong gamitin ang built-in na paraan naasdictpara 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β
- Hanapin ang mga detalye kung paano i-configure ang error suppression at error mitigation.
- Matuto pa tungkol sa mga opsyon ng Estimator.
- Matuto pa tungkol sa mga opsyon ng Sampler.
- Matuto pa tungkol sa mga opsyon ng Executor.