작업 사용하기
작업 쿼리
To programmatically get the list of job summaries, use get_job_summaries().
import qai_hub as hub
client = hub.Client()
job_summaries = client.get_job_summaries(limit=10)
print(job_summaries)
Given a specific job ID from the UI (an ID starting with j e.g. jvgdwk7z5), the job
can be programmatically queried using get_job().
job = client.get_job("jvgdwk7z5")
print(job)
프로필 작업
프로필 작업의 결과는 다음과 같이 ProfileJob 을 사용하여 프로그래밍 방식으로 얻을 수 있습니다.
profile = job.download_profile()
print(profile)
인쇄된 사전의 출력은 다음과 같습니다.
{
'estimated_inference_time': 2997,
'estimated_inference_peak_memory': 69177344,
'first_load_time': 2162619,
'first_load_peak_memory': 83742720,
'warm_load_time': 123904,
'warm_load_peak_memory': 73179136,
'compile_time': 0,
'compile_peak_memory': 0,
'compile_memory_increase_range': None,
'compile_memory_peak_range': None,
'first_load_memory_increase_range': (0, 0),
'first_load_memory_peak_range': (26226688, 31730736),
'warm_load_memory_increase_range': (0, 10580480),
'warm_load_memory_peak_range': (12865536, 37318656),
'inference_memory_increase_range': (0, 12160),
'inference_memory_peak_range': (12288, 21276192),
'all_compile_times': [],
'all_first_load_times': [2162619],
'all_warm_load_times': [123904],
'all_inference_times': [9130, .... ]
}
메모리는 바이트로 표현되고 시간은 마이크로초로 표현됩니다. 밀리초 단위의 대기 시간을 구하려면:
latency_ms = profile["execution_summary"]["execution_time"] / 1000
Downloading Job Artifacts
Jobs produce artifacts during execution. Depending on the job type, artifacts can include server logs, device logs, op-by-op timing summaries, or QNN HTP Analysis Summaries (QHAS). These are useful for troubleshooting job failures or understanding job behavior.
To see which artifacts are available for a completed job:
artifacts = job.get_available_artifacts()
print(artifacts)
# e.g. [<JobArtifactType.HUB_LOG: 5>, <JobArtifactType.DEVICE_LOG: 1>]
To download a specific artifact type:
paths = job.download_artifacts_for_type("./artifacts", hub.JobArtifactType.HUB_LOG)
To download all available logs (device log and hub log):
paths = job.download_job_logs("./artifacts")
Logs are also automatically included when calling download_results:
results = job.download_results("./results")
# results directory will contain the job's primary output (e.g. compiled model)
# as well as any available log files
Available artifact types are listed in JobArtifactType.
Not all types are available for all jobs — use get_available_artifacts()
to check what is available for a specific job.
참고
The format, content, and availability of job artifacts may change without notice. They are not part of the stable API contract.