프레임워크들과 일하기
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 버전이 사용됩니다. 호환 가능한 버전이 없는 경우 오류가 반환됩니다.