設備

裝置選擇

可以使用 get_devices() 獲取可用設備的完整列表。

import qai_hub as hub

devices = hub.get_devices()
print(devices)

或者使用 命令行介面:

qai-hub list-devices

裝置篩選

這將回傳一個 Device 物件的列表。裝置可以根據名稱、操作系統或屬性進行篩選。要獲取特定裝置,請根據名稱和操作系統進行篩選。

import qai_hub as hub

devices = hub.get_devices(name="Samsung Galaxy S24 (Family)")
print(devices)

devices_os13 = hub.get_devices(os="13", attributes="os:android")
print(devices_os13)

作業系統版本可以用單一值或半開區間表示。例如,os=[10, 12) 將選擇作業系統主要版本為 10 和 11 的裝置,但不包括 12

import qai_hub as hub

devices_os10_to_os11 = hub.get_devices(os="[10, 12)", attributes="os:android")
print(devices_os10_to_os11)

devices_os12_and_more = hub.get_devices(os="[12,)", attributes="os:android")
print(devices_os12_and_more)

裝置還可以根據屬性進一步篩選。以下範例選擇所有具有 Snapdragon® 8 Gen 2 SOC 並支持 TensorFlow Lite 的裝置。支持的屬性記錄在 Device 中。

import qai_hub as hub

devices = hub.get_devices(attributes=["chipset:qualcomm-snapdragon-8gen2", "framework:tflite"])
print(devices)

名稱、作業系統和屬性也可以一併使用。回傳的列表包含所有符合篩選條件的裝置。這個列表可能是空的。以下代碼選擇所有具有 Snapdragon® 8 Gen 2 SOC 並且作業系統版本為 12 及以上的設備。

import qai_hub as hub

devices = hub.get_devices(attributes=["chipset:qualcomm-snapdragon-8gen2", "os:android"], os="[12,)")
print(devices)

名稱、操作系統和屬性也可以用來選擇某個設備,如同使用 Device class。

import qai_hub as hub

device_sn8gen2 = hub.Device(attributes="chipset:qualcomm-snapdragon-8gen2")
device_os12 = hub.Device(os="12", attributes="os:android")
device_galaxy_s23 = hub.Device(name="Samsung Galaxy S23 Ultra")

如果有多個設備符合提供的篩選條件,則選擇具有最新可用操作系統版本的任意設備。