サポートされているランタイムエンジン
Live Sense SDK は、 Live Sense モデルを実行するための複数のインスタンスをサポートしています。 正確なサポートは、使用しているデバイスおよびモデルによって異なります。
NNEngine
NNEngine は、 ML モデルの実行に使用されるライブラリを表します。 次のライブラリがサポートされています。
TFLite
はデフォルトの NNEngine で、最小要件を満たすほとんどのデバイスで実行できます。
各 NNEngine には複数のランタイムが用意されている場合があります 指定されていない場合、 SDK は現在の NNEngine で利用できる最適なランタイムを選択します。
エンジンランタイムのサポート
| CPU | GPU | DSP |
TFLite | Y | Y | いいえ |
モデルランタイムサポート
| TFLite/CPU | TFLite/GPU |
道路の基本設定 ( デフォルト ) | Y | Y |
道路の基本情報(夜間) | Y | Y |
道路状況の警告(ブレーキランプ) | Y | Y |
交通信号ステータス | Y | Y |
道路標識 | Y | Y |
道路の危険 | Y | Y |
ロードレーンズ | Y | Y |
メモ
ロードレーンモデルでは、 GPU で実行する OpenCL をデバイスがサポートしている必要があります。
既定の優先順位付け
正確性と推測時間の実験と分析を通じて、各モデルで利用可能なエンジンおよびプロセッサのオプションの優先順位を決定するフローが考案されました。 このフローについては、次の図で説明します。
図 1. デフォルトの SDK フロー 最善の設定を得るために、内部でチェックが実行されます。
使用量
この機能を使用して、 Live Sense SDK が最適なオプションを選択できるようにするには、オプションを指定せずにモデルを初期化する必要があります。
RoadBasicsModel roadBasicsModel = new RoadBasicsModel(new RoadBasicsModel.Options());
設定を明示的に指定します
Live Sense SDK によって決定された優先度を使用しない場合は、上書きできます。
getAvailableModelConfigurations()
メソッドは、提供された任意のモデルでサポートされているオプション ( エンジンとプロセッサの組み合わせ ) を返します。 これは、上記の優先順位に基づいて発注されます。
モデルを実行するサポートされているオプションのいずれかからエンジンおよびプロセッサを明示的に指定するには、モデルの初期化中にこのオプションを指定します。
Map<String, List<ModelConfig>> modelConfigs = RoadBasicsModel.getAvailableModelConfigurations();
ModelConfig dayVariantConfig = modelConfigs.get("day").get(0);
RoadBasicsModel.Options rbOptions = new RoadBasicsModel.Options(dayVariantConfig);
rbOptions.setVariantId("day");
RoadBasicsModel roadBasicsModel = new RoadBasicsModel(rbOptions);
メモ
設定をそのまま使用できない場合、 SDK は次に最適なサポート対象の設定に戻ります。