BasePassManager
class qiskit.passmanager.BasePassManager(tasks=(), max_iteration=1000)
패스 관리자 기본 클래스.
빈 패스 관리자 개체를 초기화합니다.
매개변수
- tasks (Task[IR, IR] | list[Task[IR, IR]]) – 패스 매니저 일정에 추가될 예정인 패스입니다.
- max_iteration (int) – 조건이 충족되지 않을 경우 일정이 반복되는 최대 반복 횟수입니다.
메소드
append
append(tasks)
패스 일정에 작업을 추가합니다.
매개변수
tasks (Task[IR, IR] | list[Task[IR, IR]]) – 일정에 추가할 일련의 패스 관리자 작업들.
레이즈
TypeError - 작업의 요소가 패스매니저 작업의 하위 클래스가 아닌 경우.
리턴 유형
없음
remove
remove(index)
스케줄러에서 특정 패스를 제거합니다.
매개변수
index (int) – passes() 에서 위치를 기준으로 제거할 인덱스를 전달합니다.
레이즈
PassManagerError – 인덱스를 찾을 수 없는 경우.
리턴 유형
없음
replace
replace(index, tasks)
스케줄러에서 특정 패스를 교체합니다.
매개변수
- index (int) – 교체할 작업 인덱스, 위치 기준
tasks() - tasks (Task[IR, IR] | list[Task[IR, IR]]) – 일정에 추가할 일련의 패스 관리자 작업들.
레이즈
- TypeError - 작업의 요소가 패스매니저 작업의 하위 클래스가 아닌 경우.
- PassManagerError – 인덱스를 찾을 수 없는 경우.
리턴 유형
없음
run
run(in_programs, callback=None, num_processes=None, *, property_set=None, **kwargs)
지정된 in_programs 에서 모든 패스를 실행합니다.
매개변수
-
in_programs (Any |list[Any]) – 등록된 모든 패스를 통해 변환할 입력 프로그램을 지정하십시오. 단일 입력 객체는 내장 리스트 객체인
Python일 수 없습니다. 목록 객체는 최적화 대상인 다중 입력 객체로 간주됩니다. -
callback (Callable[[Task, IR, PropertySet, float, int], None] | None) –
각 패스 실행 후 호출되는 콜백 함수. 이 함수는 5개의 키워드 인수를 받아 호출됩니다:
task (GenericPass): the pass being run passmanager_ir (Any): depending on pass manager subclass property_set (PropertySet): the property set running_time (float): the time to execute the pass count (int): the index for the pass execution전달된 정확한 인수는 패스 관리자의 내부 구조를 드러내며, 패스 관리자의 내부 구조가 변경됨에 따라 변경될 수 있습니다. 여러 버전에 걸쳐 콜백 함수를 재사용하려는 경우, 전달되는 인수가 동일한지 반드시 확인하십시오.
콜백 기능을 사용하려면 kwargs dict를 받아 변수에 액세스하는 함수를 정의합니다. 예를 들어,
def callback_func(**kwargs): task = kwargs['task'] passmanager_ir = kwargs['passmanager_ir'] property_set = kwargs['property_set'] running_time = kwargs['running_time'] count = kwargs['count'] ... -
num_processes (int | None) – 병렬 실행이 활성화된 경우 시작할 수 있는 병렬 프로세스의 최대 개수. 이 인수는 사용자 설정 파일과 환경 변수에서
QISKIT_NUM_PROCS해당 설정을num_processes재정의합니다. 시스템None기본값으로 설정된 경우 시스템 기본값 또는 로컬 사용자 구성이 사용됩니다. -
property_set (dict[str, object] | None) – 주어진 경우, 패스 관리자 파이프라인의 초기값으로 사용할
PropertySet로 사용할 초기 값입니다. 이 기능은 분석을 공유해도 안전하다고 판단되는 경우 한 실행에서 다른 실행으로 분석을 지속하는 데 사용할 수 있습니다. 일부 분석은 입력 회로와 특정Target인수를 사용할 때 많은 주의를 기울여야 합니다. -
kwargs - 컴파일러 프론트엔드 및 백엔드에 전달되는 임의의 인수입니다.
리턴
변환된 프로그램입니다.
리턴 유형
to_flow_controller
to_flow_controller()
이 관리자를 하나의 FlowControllerLinear로 선형화하여 다른 패스 관리자 안에 중첩할 수 있도록 합니다.
리턴
선형화된 패스 관리자.
리턴 유형
Flow[* ControllerLinearIR*, IR]