Go 开发 Rockchip NPU:go-rknnlite(RKNN Toolkit2,支持 RK3588、RK3576

发布时间:2026/7/10 3:11:45
Go 开发 Rockchip NPU:go-rknnlite(RKNN Toolkit2,支持 RK3588、RK3576 使用 Go 开发 Rockchip NPU 应用开源项目 go-rknnlite近年来Rockchip 的 RK3566、RK3568、RK3576、RK3588 等 SoC 已成为边缘 AIEdge AI领域非常受欢迎的平台。借助集成的 NPU 与 RKNN Toolkit2开发者可以在嵌入式设备上高效部署各种深度学习模型。然而目前 Rockchip 官方以及社区提供的大多数示例和教程几乎都是基于 Python 或 C/C。对于喜欢使用 Go 语言开发的工程师来说可参考的资料和开源项目非常少。为了解决这一问题我开发了go-rknnlite—— 一个基于RKNN Toolkit2 C API的 Go 语言绑定库。GitHubhttps://github.com/swdee/go-rknnlite项目的目标很简单让 Go 开发者能够充分利用 Rockchip NPU快速构建高性能的边缘 AI 应用。支持的平台目前 go-rknnlite 已支持以下 Rockchip 平台RK3562RK3566RK3568RK3576RK3582RK3588项目直接调用 Rockchip 官方提供的 RKNN Runtime因此能够保持与官方 SDK 的兼容性。性能基准测试Benchmark很多开发者最关心的问题就是“运行速度到底有多快”因此项目提供了完整的 Benchmark 示例对多个 Rockchip 平台和多种 YOLO 模型进行了性能测试。与很多只统计NPU 推理时间的测试不同go-rknnlite 的 Benchmark 统计的是完整推理流程包括NPU 推理InferenceCPU 后处理Post-processing检测结果绘制Rendering整体端到端延迟End-to-End Latency这样得到的数据更接近真实应用中的性能表现而不仅仅是模型推理时间。项目仓库中包含多个平台、多种模型的 Benchmark 数据同时提供平均延迟统计图Average Latency所有测试程序均已开源开发者可以直接运行并复现测试结果。支持的模型目前仓库已经包含完整示例覆盖多种常见视觉模型。目标检测支持YOLOv5YOLOXYOLOv8YOLOv10YOLOv11YOLO26YOLO-NAS其它视觉模型还包括Instance Segmentation实例分割Pose Estimation人体姿态估计Oriented Bounding BoxOBB 旋转目标检测PaddleOCR 文字识别RetinaFace 人脸检测Feature Embedding / ReID特征提取与重识别SAHISlicing Aided Hyper Inference小目标检测所有示例均可直接运行希望开发者能够在此基础上快速构建自己的 AI 应用而无需从零开始。RuntimePool充分利用多核 NPU项目中的一个重要特性是RuntimePool。以 RK3588 为例其 NPU 支持多个 Runtime 并行执行。RuntimePool 能够方便地管理多个 RKNN Runtime 实例在保持 API 简洁的同时提高整体吞吐量Throughput。对于视频分析、多路摄像头、机器人等应用可以更充分地利用 Rockchip NPU 的计算能力。为什么选择 Go近年来Go 已广泛应用于服务器开发、云计算和网络服务同时它也非常适合嵌入式 AI 应用开发。Go 的优势包括Goroutine 并发模型简单高效编译速度快可执行文件部署方便标准库完善性能优秀易于交叉编译非常适合部署到 Embedded Linux 平台一种典型的架构是使用 Go 负责摄像头管理、视频流、网络通信、HTTP API 和业务逻辑而神经网络推理由 Rockchip NPU 完成。这种架构既能获得优秀的性能也能保持项目良好的可维护性。开源项目go-rknnlite 采用Apache 2.0 License开源。欢迎大家提交 Issue、Pull Request也欢迎提出新的模型支持建议或功能需求。如果你正在使用 Rockchip 平台并希望使用 Go 开发 AI 应用希望这个项目能够帮助你节省大量开发时间。GitHubhttps://github.com/swdee/go-rknnlite仓库中已经包含完整文档、Benchmark、示例程序以及模型演示。后续计划未来计划持续完善项目包括支持更多 RKNN 官方模型持续更新最新 YOLO 系列模型增加更多 OCR、分割、姿态估计等视觉模型示例持续完善文档与 Benchmark优化 RuntimePool 与多核 NPU 调度欢迎社区贡献新的模型、示例与改进建议欢迎大家Star、Fork也欢迎一起交流和贡献代码