Hub documentation
Hugging FaceからのUnity Sentisモデルの使用
Hugging FaceからのUnity Sentisモデルの使用
Unity 3Dは、世界で最も人気のあるゲームエンジンの一つです。Unity Sentisは、Unity 2023以降で動作する推論エンジンです。これは、ハードウェアアクセラレーションを活用して、ゲームやアプリケーションにニューラルネットワークモデルを簡単に統合・実行するためのAPIです。UnityはPC、モバイル、コンソールなど、さまざまなプラットフォームにエクスポートできるため、さまざまな種類のハードウェア上でニューラルネットワークモデルを実行する簡単な方法となります。
Hub内のSentisモデルの探索
モデルページの左側でフィルタリングを行うと、unity-sentisモデルを見つけることができます。
Hub上のすべてのSentisモデルには、Unityでモデルを簡単に使い始めるためのコードと手順が同梱されています。unityネームスペース配下のすべてのSentisモデル(例: unity/sentis-yolotinyv7)は動作が検証済みであり、Unityで確実に実行できることが保証されています。
Sentisの使用方法に関する詳細については、ドキュメントをご覧ください。Sentisの利用者からのサポートを得るには、ディスカッションフォーラムで質問できます。
ファイルの種類
各リポジトリには、いくつかの種類が含まれます:
sentisファイル: Unity上で動作するニューラルネットワークを含む、メインのモデルファイルです。ONNXファイル: これは、Sentisファイルに加えて、またはSentisファイルの代わりに含めることができる代替形式です。Netronなどのサードパーティ製ツールによる可視化に役立ちます。csファイル: Unity でモデルを実行するためのコードを含む C# ファイルです。info.json: このファイルには、リポジトリ内のファイルに関する情報が含まれています。- データファイル。これらはモデルの実行に必要なその他のファイルです。語彙ファイルやクラス名のリストなどが含まれる場合があります。一般的なファイルには
jsonまたはtxtの拡張子が付いています。 README.md。これはモデルカードです。モデルの使用方法やその他の関連情報が記載されています。
モデルの実行
モデルカードの指示を常に参照してください。Unityに関する知識と、C#の基礎知識があることが前提とされています。
Unity 2023 以降を開き、新しいシーンを作成します。
com.unity.sentisパッケージをパッケージマネージャーからインストールしてください。モデルファイル(
*.sentis)とデータファイルをダウンロードし、Assets フォルダ内のサブフォルダである StreamingAssets フォルダに配置してください。(このフォルダが存在しない場合は、作成できます。)Main Cameraなどのシーン内のオブジェクトにC#ファイルを配置してください。
シーン内で作成する必要がある他のオブジェクトがあるかどうかは、モデルカードを参照してください。
ほとんどの場合、まずは動作を開始するための基本的な実装のみを提供します。創造的な使い方を考えるのはあなた次第です。例えば、2つ以上のモデルを組み合わせることで、興味深いことを実現できるかもしれません。
独自のSentisモデルの共有
ご自身のSentisモデルをHugging Faceで共有することをお勧めします。これは、ご自身で学習したモデルや、Sentis形式に変換してUnityで動作することを確認したモデルであっても構いません。
アップロードする各リポジトリについて、モデルをSentis形式で提供してください。これにより、Unityで実行できることを追加で確認でき、大規模モデルには推奨される形式でもあります。モデルファイルの元のONNXバージョンも同梱できます。
C#ファイルで最小限の実装を提供してください。例えば、画像処理モデルの場合、入力の準備方法と出力から画像を構築する方法を示すコードを含める必要があります。あるいは、外部のサンプルコードへのリンクを貼ることもできます。これにより、他のユーザーがUnityでモデルをダウンロードして使用しやすくなります。
モデルの実行に必要なデータファイルを提供します。例えば、語彙ファイルなどです。
最後に、プロジェクトのファイルを列挙したinfo.jsonファイルを提供してください。これにより、ダウンロード数のカウントが可能になります。info.jsonの内容の例をいくつか示します。
{
"code": [ "mycode.cs"],
"models": [ "model1.sentis", "model2.sentis"],
"data": [ "vocab.txt" ]
}または、コードサンプルが外部にある場合:
{
"sampleURL": [ "http://sampleunityproject"],
"models": [ "model1.sentis", "model2.sentis"]
}追加情報
Sentisの活用を始めるにあたり、いくつかの完全なサンプルプロジェクトもご用意しています。
Update on GitHub