# ランタイム

ランタイムは推論のみを行います。つまり、ツールは画像を処理することはできますが、ツールを変更したり、再学習させたりすることはできません。ツールの処理は、展開された本番環境で ViDi ツールを実行するために必要な最小機能です。

長所 | 短所
--- | ---
統合が簡単 | ツールの再学習には有効な ViDi Suite のライセンスが必要
パラメータはフリーズされており、アプリケーションのオペレータによるツールの変更は不可 | アーキテクチャが複雑

ランタイム展開用のアプリケーションは次のとおりです。

- アプリケーションのオペレータがツールを再学習させる必要はありません。
- アプリケーションレシピを厳密に制御する必要のあるアプリケーション (医療アプリケーションや製薬アプリケーションなど)。
- 低スピードまたは埋め込みプラットフォームでツール処理を実行する必要があり、学習が他のプラットフォームで行われるアプリケーション。
- 複数ラインが同じアプリケーションレシピを使用する場合。
- デモンストレーション、早期市場投入ソリューション、および概念実証アプリケーション。

プログラミング言語 | 方法
--- | ---
.Net | 名前空間ランタイム
C | vidi_runtime_*

###### 例

プログラミング言語 | 例
--- | ---
.Net | Example.Runtime.GUI
Example.Runtime.Console.MultiGPU
C | Example.Cpp.Runtime
Example.Cpp.Runtime.MultiGPU

ViDi DLL は通常はサードパーティのアプリケーションを経由してアプリケーションに埋め込まれます。

ビジョンアプリケーションには次のような役割があります。

- リモートワークスペースを ViDi DLL に読み込む
- 画像を取り込む
- 画像を ViDi DLL に送信する
- 結果を解釈し、それに基づいて制御する
- フィードバックをユーザに提供する

ViDi DLL には次のような役割があります。

- GPU を取り扱う
- 画像を取り込み (メモリまたはハードドライブを経由)、XML 文字列を返す

.NET ラッパーは、結果を表示するために使用できる UI 要素を提供します。

ViDi DLL には統合された学習機能がないため、ViDi GUI を使用して新しいレシピを学習する必要があります。これは、次の 3 つの個別のステップで行います。

1. 画像を取り込みます。
2. 取り込んだ画像を DLL を経由するか、データベースに追加する方法を使用するか、手動で ViDi にドラッグアンドドロップすることで、ViDi GUI に送ります。
3. ランタイムワークスペースをエクスポートし、DLL 内に読み込みます。これは手動で行うか、DLL 内でサーバからのワークスペースを取得する方法を使用して行うことができます。

ビジョンアプリケーションには次のような役割があります。

- 画像を取り込む
- データベースに追加する方法を使用するか、ディスクに書き込む方法を使用して、DLL を経由して ViDi GUI に画像を送る
- 学習が完了したら、新しいランタイムワークスペースを読み込む

システムを学習させるには、以下の操作を行います。

- 画像をハードドライブから取り込み、ViDi GUI にドロップする
- ツールを学習させる
- ランタイムワークスペースをエクスポートする