Hub documentation

Hugging FaceからのUnity Sentisモデルの使用

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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#の基礎知識があることが前提とされています。

  1. Unity 2023 以降を開き、新しいシーンを作成します。

  2. com.unity.sentisパッケージをパッケージマネージャーからインストールしてください。

  3. モデルファイル(*.sentis)とデータファイルをダウンロードし、Assets フォルダ内のサブフォルダである StreamingAssets フォルダに配置してください。(このフォルダが存在しない場合は、作成できます。)

  4. Main Cameraなどのシーン内のオブジェクトにC#ファイルを配置してください。

  5. シーン内で作成する必要がある他のオブジェクトがあるかどうかは、モデルカードを参照してください。

ほとんどの場合、まずは動作を開始するための基本的な実装のみを提供します。創造的な使い方を考えるのはあなた次第です。例えば、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