Skip to main content
IBM Quantum Platform

BasePassManager

class qiskit.passmanager.BasePassManager(tasks=(), max_iteration=1000)

GitHub

베이스: Generic[IR], ABC

패스 관리자 기본 클래스.

빈 패스 관리자 개체를 초기화합니다.

매개변수

  • tasks (Task[IR, IR] | list[Task[IR, IR]]) – 패스 매니저 일정에 추가될 예정인 패스입니다.
  • max_iteration (int) – 조건이 충족되지 않을 경우 일정이 반복되는 최대 반복 횟수입니다.

메소드

append

append(tasks)

GitHub

패스 일정에 작업을 추가합니다.

매개변수

tasks (Task[IR, IR] | list[Task[IR, IR]]) – 일정에 추가할 일련의 패스 관리자 작업들.

레이즈

TypeError - 작업의 요소가 패스매니저 작업의 하위 클래스가 아닌 경우.

리턴 유형

없음

remove

remove(index)

GitHub

스케줄러에서 특정 패스를 제거합니다.

매개변수

index (int) – passes() 에서 위치를 기준으로 제거할 인덱스를 전달합니다.

레이즈

PassManagerError – 인덱스를 찾을 수 없는 경우.

리턴 유형

없음

replace

replace(index, tasks)

GitHub

스케줄러에서 특정 패스를 교체합니다.

매개변수

  • 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)

GitHub

지정된 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()

GitHub

이 관리자를 하나의 FlowControllerLinear로 선형화하여 다른 패스 관리자 안에 중첩할 수 있도록 합니다.

리턴

선형화된 패스 관리자.

리턴 유형

Flow[* ControllerLinearIR*, IR]

이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.