在 HubAI 上使用自定义模型
不要从此工作流开始使用 Viewer
OAK Viewer 和默认可视化工具对于尝试内置模型、检查流以及调整可视化或深度设置非常有用。但它们不是用于验证自定义 HubAI 模型工作流的可编辑路径。为此,请从
oak-examples 开始,以便您可以控制模型引用、身份验证和输出处理。本教程适用场景
此流程最适用于可以与
generic-example 应用程序配合使用的模型:即具有兼容解析器路径的单图像输入模型。如果您的模型需要自定义后处理或多个输出头,请使用本教程先验证转换,然后迁移到自定义示例或应用程序。1. 准备和上传模型
选择正确的上传格式
对于自定义 YOLO 模型,请使用 YOLO 上传路径和 PyTorch (
.pt) 权重。对于大多数其他自定义模型,请导出到 ONNX 并使用 Custom 上传路径。ONNX 是非 YOLO 模型的通用交换格式,通常会保留原始架构,而 YOLO 特定路径则标准化输出以进行本机解析和更多的设备端后处理。有关更多详细信息,请参阅 转换为 ONNX。2. 在 HubAI 中转换模型
- 一个转换后的模型实例,附加到现有的 HubAI 模型条目
- 一个可复制的 HubAI 模型引用,您可以将其传递给
generic-example
oak-examples 中引用它。之后,从模型注册表页面复制模型引用,如 上传/下载 中所示。快速转换仍然可用
快速转换 对于一次性任务仍然很有用,特别是当您想在一个地方上传、转换和下载模型时。在本教程中,它不是主要路径,因为模型已上传到 HubAI。
3. 创建团队 API 密钥
generic-example 这样的本地脚本,建议在运行时使用 DEPTHAI_HUB_API_KEY 设置密钥,而不是将其硬编码在源文件中。推荐的处理模式在 API 密钥最佳实践 中有记录。4. 运行 generic-example 并检查输出
--model 期望一个 HubAI 模型引用,对于私有模型,它可以从 DEPTHAI_HUB_API_KEY 或 --api_key 读取密钥。Command Line
1git clone --depth 1 --branch main https://github.com/luxonis/oak-examples.git
2cd oak-examples/neural-networks/generic-example
3python3 -m venv venv
4source venv/bin/activate
5pip install -r requirements.txt
6export DEPTHAI_HUB_API_KEY="<YOUR_TEAM_API_KEY>"
7python3 main.py --model "<YOUR_MODEL_REFERENCE>"python 而不是 python3,使用 venv\\Scripts\\activate 激活虚拟环境,并使用 set DEPTHAI_HUB_API_KEY=<YOUR_TEAM_API_KEY> 设置变量。脚本成功启动后,它将从 HubAI 下载模型,创建管道,并为您提供本地可视化工具会话的查看器说明。使用该会话确认模型在设备上的输出是否正确。常见变体:- 添加
--overlay_mode以用于数组输出,例如分割图或深度图。 - 如果您想在文件上进行测试而不是使用实时摄像头输入,请添加
--media_path <PATH_TO_IMAGE_OR_VIDEO>。 - 如果您不想导出
DEPTHAI_HUB_API_KEY,请传递--api_key "<YOUR_TEAM_API_KEY>"。