デバイス

デバイスの選択

利用可能なデバイスの全リストは、get_devices() を使用して取得できます。

import qai_hub as hub

devices = hub.get_devices()
print(devices)

または コマンドラインインターフェース を使用して:

qai-hub list-devices

デバイスのフィルタリング

これにより、Device オブジェクトのリストが返されます。デバイスは名前、OS、または属性に基づいてフィルタリングできます。特定のデバイスを取得するには、名前とOSでフィルタリングします。

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バージョンは単一の値または半開区間として表現できます。例えば、os=[10, 12) はOSのメジャーバージョン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)

名前、OS、および属性は一緒に使用することもできます。返されるデバイスのリストには、提供されたすべてのフィルターに一致するデバイスが含まれます。このリストは空になることもあります。次のコードは、Snapdragon® 8 Gen 2 SOCとAndroid OSバージョン12以上を持つすべてのデバイスを選択します。

import qai_hub as hub

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

Device クラスと同様、名前やOSまたは属性は単一デバイスの選択に使用できます。

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")

提供されたフィルターに一致するデバイスが複数ある場合、最新の利用可能なOSバージョンを持つ任意のデバイスが選択されます。