从 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 文件。它可用于使用第三方工具(如 Netron)进行可视化。cs文件:这些是包含在 Unity 上运行模型的代码的 C# 文件。info.json:此文件包含有关仓库中文件的信息。- 数据文件。这些是运行模型所需的其他文件。它们可能包括词汇文件、类别名称列表等。一些典型文件将具有
json或txt扩展名。 README.md。这是模型卡片。它包含有关如何使用模型和其他相关信息的使用说明。
运行模型
请始终参考模型卡片上的说明。期望你对 Unity 有一些了解,并对 C# 有一些基本了解。
-
打开 Unity 2023 或更高版本并创建新场景。
-
从包管理器安装
com.unity.sentis包。 -
下载模型文件(
*.sentis)和数据文件,并将它们放在 StreamingAssets 文件夹中,该文件夹是 Assets 文件夹内的子文件夹。(如果此文件夹不存在,你可以创建它)。 -
将 C# 文件放在场景中的对象上,例如主摄像机。
-
参考模型卡片以查看是否需要在场景中创建任何其他对象。
在大多数情况下,我们只提供基本实现以让你快速上手。由你来寻找创造性的用途。例如,你可能想要组合两个或多个模型来做有趣的事情。
分享你自己的 Sentis 模型
我们鼓励你在 Hugging Face 上分享你自己的 Sentis 模型。这些可能是你自己训练的模型,或者你已经转换为 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。