ระบุ Executor options
เวอร์ชันแพ็กเกจ
โค้ดในหน้านี้พัฒนาโดยใช้ requirements ต่อไปนี้ แนะนำให้ใช้เวอร์ชันเหล่านี้หรือใหม่กว่า
qiskit-ibm-runtime~=0.46.1
คุณสามารถใช้ options เพื่อกำหนดค่า Executor primitive
- คุณสามารถดู options ที่มีและอัปเดตค่า option ระหว่างหรือหลัง primitive initialization
- ใช้เมธอด
update()เพื่อใช้การเปลี่ยนแปลงกับ attributeoptions - Attribute
optionsเป็นประเภทdataclassPython คุณสามารถใช้เมธอดasdictในตัวเพื่อแปลงเป็น dictionary
ตั้งค่า Executor options
ถ้า option ถูกระบุทั้งระหว่างและหลัง primitive initialization ค่าที่ตั้งหลังจาก initialize primitive จะถูกใช้
Primitive initialization
คุณสามารถส่ง instance ของ options class หรือ dictionary เมื่อ initialize Executor ซึ่งจะทำสำเนาของ options เหล่านั้น ดังนั้น การเปลี่ยน dictionary หรือ options instance ดั้งเดิมจะไม่มีผลต่อ options ที่ primitive เป็นเจ้าของ
Options class
เมื่อสร้าง instance ของ class Executor คุณสามารถส่ง instance ของ options class Options เหล่านั้นจะถูกใช้เมื่อคุณใช้ run() เพื่อทำการคำนวณ ระบุ options ในรูปแบบนี้: options.option.sub-option.sub-sub-option = choice ตัวอย่างเช่น: options.environment.log_level = INFO
ตัวอย่าง:
# Added by doQumentation — required packages for this notebook
!pip install -q qiskit-ibm-runtime
from qiskit_ibm_runtime import QiskitRuntimeService, Executor
from qiskit_ibm_runtime.options import ExecutorOptions
service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)
options = ExecutorOptions(
environment={"log_level": "INFO"},
execution={"init_qubits": True},
)
# or use the following instead:
options = ExecutorOptions()
options.environment.log_level = "INFO"
options.execution.init_qubits = True
executor = Executor(mode=backend, options=options)
Dictionary
คุณสามารถระบุ options เป็น dictionary เมื่อ initialize Executor
from qiskit_ibm_runtime import QiskitRuntimeService, Executor
service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)
# Setting options during primitive initialization
executor = Executor(
backend,
options={
"environment": {"log_level": "INFO"},
"execution": {"init_qubits": True},
},
)
Options ที่มีให้ใช้
ตารางต่อไปนี้บันทึก options จากเวอร์ชันล่าสุดของ qiskit-ibm-runtime เพื่อดู option versions เก่ากว่า โปรดไปที่ qiskit-ibm-runtime API reference และเลือกเวอร์ชันก่อนหน้า
environment
environment.job_tags
รายการ tags
ตัวเลือก: None
ค่าเริ่มต้น: None
environment.log_level
ตัวเลือก: DEBUG, INFO, WARNING, ERROR, CRITICAL
ค่าเริ่มต้น: WARNING
environment.private
ตัวเลือก: True, False
ค่าเริ่มต้น: False
environment.max_execution_time
ตัวเลือก: จำนวนวินาที (integer) ในช่วง [1, 10800]
ค่าเริ่มต้น: 10800 (3 ชั่วโมง)
execution
execution.init_qubits
ว่าจะ reset qubits กลับสู่ ground state สำหรับแต่ละ shot หรือไม่
ตัวเลือก: True, False
ค่าเริ่มต้น: True
execution.rep_delay
ความล่าช้าระหว่างการวัดและ quantum circuit ถัดไป
ตัวเลือก: ค่าในช่วงที่ให้โดย backend.rep_delay_range
ค่าเริ่มต้น: ให้โดย backend.default_rep_delay
execution.meas_type
ตัวเลือก: classified, kerneled, avg_kerneled
ค่าเริ่มต้น: classified
experimental
Experimental options เมื่อมีให้ใช้
ความเข้ากันได้ของ features
บาง runtime features ไม่สามารถใช้ร่วมกันในงานเดียว คลิก tab ที่เหมาะสมเพื่อดูรายการ features ที่ไม่เข้ากันกับ feature ที่เลือก:
- Dynamic circuits
- Dynamical decoupling
- Fractional gates
- Gate-folding ZNE
- Gate twirling
- PEA
- PEC
ไม่เข้ากันกับ:
- Gate-folding ZNE
- PEA
- PEC
- Dynamical decoupling
หมายเหตุอื่นๆ:
- Gate twirling สามารถใช้กับ dynamic circuits ได้ แต่เฉพาะกับ gates ที่ไม่อยู่ใน conditional blocks เท่านั้น
- Measurement twirling สามารถใช้กับ terminal measurements เท่านั้น
- Measurement twirling ไม่เข้ากันกับคำสั่ง
store - เข้ากันกับ fractional gates เมื่อใช้
qiskit-ibm-runtimev0.42.0 หรือใหม่กว่า
ไม่เข้ากันกับ dynamic circuits
ไม่เข้ากันกับ:
- Gate twirling
- PEA
- PEC
เข้ากันกับ dynamic circuits เมื่อใช้ qiskit-ibm-runtime v0.42.0 หรือใหม่กว่า
ไม่เข้ากันกับ:
- Dynamic circuits
- PEA
- PEC
อาจไม่ทำงานเมื่อใช้ custom gates
ไม่เข้ากันกับ fractional gates หรือ stretches
หมายเหตุอื่นๆ:
- Gate twirling สามารถใช้กับ dynamic circuits ได้ แต่เฉพาะกับ gates ที่ไม่อยู่ใน conditional blocks เท่านั้น Measurement twirling สามารถใช้กับ terminal measurements เท่านั้น
- ไม่ทำงานกับ non-Clifford entanglers
ไม่เข้ากันกับ:
- Dynamic circuits
- Fractional gates
- Gate-folding ZNE
- PEC
ไม่เข้ากันกับ:
- Dynamic circuits
- Fractional gates
- Gate-folding ZNE
- PEA
ขั้นตอนถัดไป
- ทบทวนเอกสาร API ExecutionOptionsV2
- ทบทวนเอกสาร API EnvironmentOptions