CHANGELOG: 补充2026-02至2026-07变更记录(vip_→pnna_重命名、API调整等)。 byte_track: 标题修正,细化模块说明(KalmanFilter/STrack/lapjv), 更新3rdparty描述,简化eigen安装步骤。 jsonrpc_server: pnna→pnna2,补充3rdparty说明,改进API文档排版。 yolov4_tiny: 新增二进制输入数据(.dat)说明。 yolov5s_relu: 新增coco标签文件说明,修正格式对齐。 yolov8s: 移除CCS/DSP跨平台编译章节,更新模型文件名。 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| byte_track | ||
| jsonrpc_server | ||
| resnet18 | ||
| yolov4_tiny | ||
| yolov5s | ||
| yolov5s_relu | ||
| yolov8s | ||
| README.md | ||
| SConscript | ||
README.md
examples
概述
examples 目录用于存放基于 pnna2 推理框架的示例工程,主要用于展示在不同运行平台、不同模型结构以及不同应用场景下,如何使用统一的 pnna2 接口完成模型部署与推理。
该目录中的示例既可作为功能验证和调试参考,也可作为实际项目开发时的代码基础。每个子目录通常对应一种模型或一种典型应用形式,其内部包含示例代码、模型资源以及必要的前后处理逻辑,具体实现方式由各子目录自行维护。
目录结构和说明
examples
├── byte_track # Linux 平台下基于 yolov8s 的小目标跟踪示例
│ # 在目标检测结果基础上进行多帧目标关联
├── jsonrpc_server # 基于 JSON-RPC 2.0 协议的轻量级推理服务示例
│ # 支持模型的增加、删除以及远程推理调用
├── resnet18 # ARM Linux 平台下的 resnet18 分类示例
│ # ARM 与 DSP 平台均可复用
├── yolov4_tiny # yolov4_tiny 标准模型示例
│ # ARM 与 DSP 平台通用的轻量化目标检测模型
├── yolov5s # ARM Linux 平台下的 yolov5s 目标检测示例
│ # yolov5s 推理流程示例代码
├── yolov5s_relu # yolov5s 模型改造示例
│ # 将模型最后一层拆分至 CPU 侧执行
├── yolov8s # yolov8s 标准模型示例
│ # ARM 与 DSP 平台均可复用
├── ... # 其他模型或应用场景相关示例
└── README.md # examples 目录总体说明文档
示例分类说明
-
ARM Linux 平台示例 以 yolov5s、resnet18 等目录为代表,展示模型在 ARM Linux 环境中的标准部署流程,包括模型加载、输入准备、推理执行和结果解析,适合用于理解 pnna 在 Linux 平台下的基本使用方式。
-
模型改造与结构调整示例 如 yolov5s_relu,通过拆分或调整模型结构,将部分计算从 NPU 转移至 CPU 执行,用于验证 pnna 对非标准模型结构和混合计算流程的支持能力。
-
应用级扩展示例 如 byte_track、jsonrpc_server,在基础推理能力之上进一步构建目标跟踪或服务化接口,用于展示 pnna 在实际系统级应用中的集成方式。
-
通用模型示例 如 yolov4_tiny、yolov8s,展示在不同平台间可复用的标准模型推理示例,便于对比不同模型和平台组合下的推理流程。
使用建议
在使用 examples 中的示例时,建议根据目标运行平台和应用场景选择对应目录,优先阅读示例代码中的主流程文件。示例代码可以直接用于功能验证,也可以作为模板,根据实际项目需求进行裁剪和修改。
examples 目录主要用于说明使用方式和参考实现,并不限制具体模型和应用形式,用户可基于现有示例自行扩展新的模型或应用场景。
作者 {{xunyingya}}