Unity製MLライブラリBarracuda

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を動作させるサンプルを作ってみました。しかしいまいちパフォーマンスがでず…。ひとまずソースコード乗っけます。

ソースコードはこちら↓

GitHub - asus4/barracuda-samples

MNIST.pbモデルをBarracudaのnnフォーマットに変換するGoogle Colab

colab.research.google.com