MRが楽しい

MRやVRについて学習したことを書き残す

Unity AIのドキュメントを読む その40(推論エンジンのサンプルプロジェクト)

本日はUnityの技術調査枠です。
Unity AIのドキュメントを読みながら実際に操作を試して記事に残します。

Unity AI

以下のUnity AIのドキュメントを試しながら実行時のキャプチャをしていきます。
docs.unity3d.com

サンプルプロジェクト

推論エンジンの様々なユースケースを紹介する完全なサンプルプロジェクトがGitHubで公開されています。
以下の推論エンジンサンプルのGitHubリポジトリにアクセスしてください。
github.com

各プロジェクトにはセットアップ手順が含まれています。
一部のプロジェクトではREADMEファイルにビデオウォークスルーが含まれています。

サンプルスクリプト

サンプルスクリプトを使用して独自のプロジェクトに特定の機能を実装できます。
サンプルスクリプトを取得するには次の手順を実施します。

[Window -> Package Manager]を開き、パッケージリストから[Inference Engine]を選択します。

[Sample]を選択します。
サンプルフォルダをプロジェクトにインポートするには[Import]を実行します。

Unityはプロジェクト内に Sample フォルダーを作成し、選択したサンプルスクリプトを追加します。

以下は利用可能なサンプルについて説明しています。

Convert tensors to textures(テンソルをテクスチャに変換する)

テンソルをテクスチャに変換するサンプルです。

テクスチャをテンソルに変換する(Convert textures to tensors)

テクスチャをテンソルに変換するサンプルです。

テクスチャテンソルを画面にコピーする(Copy a texture tensor to the screen)

TextureConverter.RenderToScreen を使用してテクスチャテンソルを画面にコピーするサンプルです。

モデルを暗号化する(Encrypt a model)

カスタムエディターウィンドウを使用して暗号化されたモデルをディスクにシリアル化します。
実行時にその暗号化されたモデルを読み込むサンプルです。

モデルを量子化する(Quantize a model)

カスタムエディターウィンドウを使用して量子化されたモデルをディスクにシリアル化します。
実行時にその量子化されたモデルを読み込むサンプルです。

出力を非同期的に読み取る(Read output asynchronously)

コンピュートシェーダーを使用してモデルからの出力を非同期的に読み取るサンプルです。

モデルを1レイヤーずつ実行する(Run a model a layer at a time)

ScheduleIterableを使用してモデルを1レイヤーずつ実行するサンプルです。

モデルを実行する(Run a model)

入力数と出力数が異なるモデルを実行するサンプルです。

既存モデルで機能APIを使用する(Use the functional API with an existing model)

機能APIを使用して既存モデルを拡張するサンプルです。

コンピュートバッファを使用する(Use a compute buffer)

コンピュートシェーダーを使用してGPU上のテンソルにデータを書き込むサンプルです。

Burstを使用してデータを書き込む(Use Burst to write data)

Burstを使用してジョブシステム内のテンソルにデータを書き込むサンプルです。

テンソルのインデックスメソッドを使用する(Use tensor indexing methods)

テンソルのインデックスメソッドを使用してテンソルの値を取得および設定するサンプルです。