query_available_dl_devices — Erzeugen einer Liste von Hardware-Einheiten für Deep Learning-basierte
Anwendungen
query_available_dl_devices( : : GenParamName, GenParamValue : DLDeviceHandles)
query_available_dl_devices gibt eine Liste von Handles zurück.
Jedes Handle entspricht einer Hardware-Einheit (im Folgenden Einheit
genannt), welche für das Trainieren oder
Inferieren von Deep Learning-Modellen zur Verfügung stehen.
Eine Einheit für Deep Learning ist entweder standardmäßig von HALCON oder über eine AI²-Schnittstelle unterstützt.
Die Einheiten, die standardmäßig von HALCON unterstützt werden,
entsprechen jenen die mit set_dl_model_param über
'runtime' = 'cpu' oder 'runtime'
= 'gpu' für ein Deep Learning-Modell gesetzt werden können.
Für diese Einheiten wird eine HALCON interne Implementierung für die
Inferenz oder das Training des Modells ausgeführt.
Siehe Deep Learning für mehr Details.
Einheiten, die über die AI²-Schnittstelle
unterstützt werden, können
ebenfalls über set_dl_model_param gesetzt werden. Die Inferenz
des Deep Learning Modells wird in diesem Fall jedoch nicht durch HALCON,
sondern auf der Einheit selbst.
query_available_dl_devices gibt für jede Einheit, die von HALCON
für Deep Learning-Anwendungen unterstützt wird, ein Handle zurück. Also
sowohl für jene Einheiten auf denen HALCON läuft als auch für mögliche
Inference Engines.
Mit GenParamName kann nach Einheiten gefiltert werden.
Zum Filtern können alle Werte GenParamName, die von
get_dl_device_param zur Verfügung gestellt werden und nicht
ein Handle für GenParamValue zurückgeben, verwendet werden.
Eine Liste von unterstützten Werten ist in der Operatorreferenz von
get_dl_device_param zu finden.
Zusätzlich sind noch folgende Werte für GenParamName unterstützt:
Die Einheiten, die von HALCON für diesen Einheiten-Typ unterstützt werden.
Mögliche Werte (standardmäßig): 'cpu', 'gpu'.
GenParamName kann mehrere gleichnamige Einträge enthalten.
In diesem Fall werden die entsprechenden Werte bei der Filterung mit
einem logischen 'oder' verbunden.
Beispiele wie der Filter verwendet werden kann sind im Beispielcode
zu finden.
Dieser Operator liefert ein Handle zurück. Es ist zu beachten, dass der Zustand einer Instanz dieses Handletyps durch bestimmte Operatoren geändert werden kann, obwohl das Handle als Eingabeparameter in diesen Operatoren verwendet wird.
GenParamName (input_control) attribute.name(-array) → (string)
Name des generischen Parameters.
Defaultwert: []
Werteliste: 'ai_accelerator_interface', 'calibration_precisions', 'cast_precisions', 'conversion_supported', 'id', 'inference_only', 'name', 'optimize_for_inference_params', 'precisions', 'runtime', 'settable_device_params', 'type'
GenParamValue (input_control) attribute.value(-array) → (string / integer / real)
Wert des generischen Parameters.
Defaultwert: []
Wertevorschläge:
DLDeviceHandles (output_control) dl_device(-array) → (handle)
Liste von DLDevice Handles
* Query all deep-learning-capable hardware devices
query_available_dl_devices ([], [], DLDeviceHandles)
* Query all GPUs with ID 0 or 2
query_available_dl_devices (['type', 'id', 'id'], ['gpu', 0, 2],\
DLDeviceHandles)
* Query the unique GPU with ID 1 supported by HALCON
query_available_dl_devices (['runtime', 'id'], ['gpu', 1], DLDeviceHandles)
Sind die Parameterwerte korrekt, dann liefert
query_available_dl_devices den Wert TRUE. Gegebenenfalls wird
eine Fehlerbehandlung durchgeführt.
Foundation