샘플러
class Sampler(mode=None, options=None)
베이스: BaseSamplerV2
IBM Quantum Compute (구 Qiskit Runtime )용 클라이언트 측 샘플러 프리미티브.
이것은 Executor 기본 요소를 기반으로 구현된 Sampler로, 더 빠른 피드백 루프와 향상된 사용자 제어 기능을 통해 클라이언트 측에서 투명한 처리가 가능하도록 합니다.
제한사항:
- 회전 기능이 비활성화된 경우, 회로에는 해당 명령어가
BoxOp포함되어서는 안 됩니다. - 동적 분리(dynamical decoupling)는 동적 회로와 양립할 수 없다.
예제
from qiskit import QuantumCircuit
from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit_ibm_runtime.executor_sampler import Sampler
service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)
# Create a simple circuit
circuit = QuantumCircuit(2, 2)
circuit.h(0)
circuit.cx(0, 1)
circuit.measure_all()
# Run the sampler with options
sampler = Sampler(mode=backend)
sampler.options.default_shots = 2048
sampler.options.execution.init_qubits = True
job = sampler.run([circuit])
result = job.result()매개변수
-
mode (BackendV2 | Session |Batch | None) –
기본 쿼리를 생성하는 데 사용된 실행 모드입니다. 다음의 옵션을 사용할 수 있습니다.
실행 모드에 대한 자세한 내용은 IBM Quantum Compute 문서를 참조하십시오.
-
options (SamplerOptions) – 샘플러 옵션. 사용 가능한 모든 옵션을 보려면
SamplerOptions여기를 참조하십시오.
속성
mode
이 프리미티브가 사용하는 실행 모드를 반환합니다.
리턴
이 프리미티브에서 사용하는 모드, 또는 실행 모드가 사용되지 않는 경우 None .
options
유형: SamplerOptions
이 샘플러의 옵션들.
메소드
backend
finalize_options
finalize_options()
샘플러 옵션을 구성하고 확정합니다.
이 메서드는 문서에 설명된 대로 트와일링 옵션에서 None 를 run() 해결하여 호출 내부에서 사용되는 최종 인스턴스를 SamplerOptions 생성합니다 TwirlingOptions.
리턴
최종 완성된 SamplerOptions 객체.
리턴 유형
find_unique_layers
find_unique_layers(pubs, types='gates')
지정된 유형의 주어진 PUB 전체에서 발견된 고유한 박스형 레이어를 반환합니다.
레이어의 types 수는 이거나 일 수 있으며 "gates"``"all" , 이는 각각 게이트 레이어만 포함하는 경우와 모든 레이어를 포함하는 경우에 해당합니다. 이렇게 반환된 목록에는 입력 PUB에 나타나는 각 고유한 박스형 레이어(로 표시됨 CircuitInstruction)의 인스턴스가 하나씩 포함됩니다.
매개변수
- pubs (Iterable[SamplerPubLike]) – 고유한 박스 목록을 반환할 PUB 목록입니다.
- types (Literal['gates', 'all']) – 반환할 레이어의 유형. 이거나
"gates"일 수 있습니다"all".
리턴
주어진 PUB 전반에 걸쳐 발견되는 특정 유형의 독특한 상자형 층들.
리턴 유형
목록[CircuitInstruction]
run
run(pubs, *, shots=None, dry_run=False)
샘플러 프리미티브에 요청을 제출합니다.
중간 수준 및 복잡한 워크로드의 경우, 샘플러 입력을 실행자 입력에 매핑하기 위해 수행되는 클라이언트 측 처리는 많은 리소스를 소모할 수 있으며, 함수 호출과 job 제출 사이에 지연이 발생할 수 있습니다. 호출 진행 상황을 확인하려면 (레벨을 INFO 사용하여) 로깅을 설정하는 것이 좋습니다. 자세한 내용은 IBM Quantum Compute 로깅 정보를 참조하십시오.
매개변수
- pubs (Iterable[SamplerPubLike]) – 펍과 유사한 객체들의 반복 가능 객체. 예를 들어, 회로 목록이나 튜플
(circuit, parameter_values). - shots (int | None) – 자체적으로 샷 수를 명시하지 않은 각 샘플러 펍에 대해 샘플링할 총 샷 수. 인 경우
None, 의 값이 사용됩니다options.default_shots. - dry_run (bool) – 의 경우
True, QPU에서 작업을 실행하지 않고 시뮬레이션을 수행합니다. 이 모드를 사용하면 작업의 유효성을 확인하고, 사용량을 추정하며, 회로 타이밍 메타데이터를 가져올 수 있습니다. 반환된 결과에는 예상되는 스키마가 유지되지만, 실제 또는 시뮬레이션된 측정 결과 대신 무작위로 생성된 모의 데이터가 포함됩니다. 가짜 백엔드와 달리, 이 시뮬레이션 처리는 서버 측에서 이루어지므로 작업이 즉시 완료되지 않을 수 있으며, 이 기능에 대한 접근이 제한될 수 있습니다.
리턴
제출된 작업.
리턴 유형
RuntimeJobV2 | LocalRuntimeJob