프레임워크들과 일하기

Qualcomm® AI Hub 은 컴파일, 프로파일, 추론 작업을 위해 여러 Qualcomm® AI Engine Direct 버전을 지원합니다.

프레임워크 조회하기

지원되는 모든 Qualcomm® AI Engine Direct 버전 목록을 프로그래밍 방식으로 가져오려면 get_frameworks() 를 사용하십시오.

import qai_hub as hub

client = hub.Client()
supported_frameworks = client.get_frameworks()
print(supported_frameworks)

이것은 CLI를 통해서도 할 수 있습니다.

qai-hub list-frameworks

각 프레임워크에는 두 가지 특별한 태그가 있습니다:

  • default: Qualcomm® AI Hub Workbench 에서 사용되는 프레임워크의 기본 버전을 나타냅니다.

  • latest: 가장 최근에 릴리스된 Qualcomm® AI Hub Workbench 에서 사용되는 프레임워크 버전을 나타냅니다.

프레임워크 버전과 함께 작업 제출

컴파일, 프로파일, 또는 추론 작업은 get_frameworks() 에 나열된 api_version 으로 식별되는 특정 프레임워크 버전을 지정하여 제출할 수 있습니다

import qai_hub as hub

client = hub.Client()
compile_job = client.submit_compile_job(
    model="mobilenet_v2.onnx",
    device=hub.Device("Samsung Galaxy S23 (Family)"),
    target_runime="qnn_context_binary",
    options="--qairt_version 2.31"
)
print(compile_job)

프레임워크는 default 또는 latest 태그를 사용하여 식별할 수도 있습니다. 다음 코드 샘플은 사용 가능한 최신 Qualcomm® AI Engine Direct 프레임워크 버전을 사용합니다.

import qai_hub as hub

client = hub.Client()
compile_job = client.submit_compile_job(
    model="mobilenet_v2.onnx",
    device=hub.Device("Samsung Galaxy S23 (Family)"),
    target_runime="qnn_context_binary",
    options="--qairt_version latest"
)
print(compile_job)

다음 코드 샘플은 기본(가장 안정적인) Qualcomm® AI Engine Direct 프레임워크 버전을 사용합니다.

import qai_hub as hub

client = hub.Client()
compile_job = client.submit_compile_job(
    model="mobilenet_v2.onnx",
    device=hub.Device("Samsung Galaxy S23 (Family)"),
    target_runime="qnn_context_binary",
    options="--qairt_version default"
)
print(compile_job)

버전 선택

프로파일 또는 추론 작업을 명시적인 Qualcomm® AI Runtime 버전으로 제출할 때, Qualcomm® AI Hub Workbench 는 입력 모델과 호환되는 경우 해당 버전을 사용합니다. 요청된 버전이 입력 모델과 호환되지 않으면, Qualcomm® AI Hub Workbench 는 오류를 반환합니다.

프로파일 또는 추론 작업을 명시적인 Qualcomm® AI Runtime 버전 없이 제출할 경우, Qualcomm® AI Hub Workbench 는 입력 모델을 기반으로 호환 가능한 버전을 자동으로 선택합니다.

입력 모델이 Qualcomm® AI Engine Direct 자산이 아닌 경우 (예: TensorFlow Lite 모델 또는 표준 ONNX 모델), Qualcomm® AI Hub Workbench 는 항상 기본 Qualcomm® AI Engine Direct 버전을 선택합니다.

입력 모델이 DLC 또는 컨텍스트 바이너리 형식의 Qualcomm® AI Engine Direct 자산인 경우, Qualcomm® AI Hub Workbench 는 해당 자산에서 Qualcomm® AI Engine Direct 버전을 조회하여 호환 가능한 Qualcomm® AI Engine Direct 버전을 선택합니다. 기본 Qualcomm® AI Engine Direct 버전이 모델과 호환되면 해당 버전이 사용되며, 기본 버전이 호환되지 않을 경우 최신 Qualcomm® AI Engine Direct 버전이 사용됩니다. 호환 가능한 버전이 없는 경우 오류가 반환됩니다.