프레임워크들과 일하기

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

프레임워크 조회하기

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

import qai_hub as hub

supported_frameworks = hub.get_frameworks()
print(supported_frameworks)

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

qai-hub list-frameworks

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

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

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

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

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

import qai_hub as hub

compile_job = hub.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

compile_job = hub.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

compile_job = hub.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 버전을 지정하여 프로파일 또는 추론 작업을 제출하는 경우, 해당 버전이 입력 모델과 호환되면 AI허브는 그 버전을 사용합니다. 요청한 버전이 입력 모델과 호환되지 않으면 AI허브는 오류를 반환합니다.

Qualcomm® AI Runtime 버전을 명시하지 않고 프로파일 또는 추론 작업을 제출하는 경우, AI허브는 입력 모델에 기반하여 자동으로 호환 가능한 버전을 선택합니다.

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

입력 모델이 DLC 또는 컨텍스트 바이너리 모델 Qualcomm® AI Engine Direct 자산인 경우, AI허브는 해당 자산에서 Qualcomm® AI Engine Direct 버전을 조회하여 호환 가능한 Qualcomm® AI Engine Direct 버전을 선택합니다. 기본 Qualcomm® AI Engine Direct 버전이 호환되면 이를 사용하고, 그렇지 않으면 최신 Qualcomm® AI Engine Direct 버전을 사용합니다. 호환 가능한 버전이 없으면 오류가 반환됩니다. 입력 모델이 모델 라이브러리 Qualcomm® AI Engine Direct 자산인 경우, AI허브는 기본 버전을 선택하며, 호환되지 않으면 오류가 반환됩니다. 모델 라이브러리 Qualcomm® AI Engine Direct 자산을 프로파일링할 때는 항상 명시적으로 qairt 버전을 지정하는 것이 권장됩니다.