Unity上でMachine Learningについてリサーチしています。Unity上でMLというとUnity社が開発しているML-Agentsが最初に出てくると思います。Tensorflowとの連携ができ強化学習などのサンプルが多く見れます。
GitHub - Unity-Technologies/ml-agents: Unity Machine Learning Agents Toolkit
そのml-agentsの子プロジェクトとして最近Barracudaというものをハッケンしました。
ml-agents/Barracuda.md at master · Unity-Technologies/ml-agents · GitHub
説明を読むに、TensorFlowの学習済ファイル (*.pb)やONNXのモデルをBarracudaで読み込んで、Unityで動かしているようです。CPUもサポートしていますが、GPUは全部ComputeShaderで頑張っている模様。実際にMNISTを動作させるサンプルを作ってみました。しかしいまいちパフォーマンスがでず…。ひとまずソースコード乗っけます。
Tested MNIST in Barracuda: ML library in pure Unity ComputeShader, it has been developed as a part of ml-agents. it worked on macOS/iOS, but slightly slow🤔 #madewithunity pic.twitter.com/bbe5YrN7Ls
— Koki Ibukuro (@asus4) November 13, 2019
ソースコードはこちら↓
GitHub - asus4/barracuda-samples