OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  nncase — 面向边缘设备的神经网络编译与部署工具链

nncase — 面向边缘设备的神经网络编译与部署工具链

 
  turbo ·  2026-09-18 11:00:19 · 8 次点击  · 0 条评论  
nncase

GitHub 仓库 Gitee 仓库 GitHub 发布版本

English

nncase 是面向 AI 加速器的神经网络编译器。

Telegram:nncase 社区
技术讨论 QQ 群:790699378 答案:人工智能


K230

安装

  • Linux:

    shell pip install nncase nncase-kpu

  • Windows:

    shell 1. pip install nncase 2. Download `nncase_kpu-2.x.x-py2.py3-none-win_amd64.whl` in below link. 3. pip install nncase_kpu-2.x.x-py2.py3-none-win_amd64.whl

所有版本的 nncasenncase-kpu 请见 Release

支持的算子

基准测试

类别 模型 输入形状 量化类型(If/W) nncase_fps tflite_onnx_result 精度 说明
图像分类 mobilenetv2 [1,224,224,3] u8/u8 600.24 top-1 = 71.3%
top-5 = 90.1%
top-1 = 71.1%
top-5 = 90.0%
数据集(ImageNet 2012, 50000 张图像)
tflite
resnet50V2 [1,3,224,224] u8/u8 86.17 top-1 = 75.44%
top-5 = 92.56%
top-1 = 75.11%
top-5 = 92.36%
数据集(ImageNet 2012, 50000 张图像)
onnx
yolov8s_cls [1,3,224,224] u8/u8 130.497 top-1 = 72.2%
top-5 = 90.9%
top-1 = 72.2%
top-5 = 90.8%
数据集(ImageNet 2012, 50000 张图像)
yolov8s_cls(v8.0.207)
目标检测 yolov5s_det [1,3,640,640] u8/u8 23.645 bbox
mAP50-90 = 0.374
mAP50 = 0.567
bbox
mAP50-90 = 0.369
mAP50 = 0.566
数据集(coco val2017, 5000 张图像)
yolov5s_det(v7.0 tag, rect=False, conf=0.001, iou=0.65)
yolov8s_det [1,3,640,640] u8/u8 9.373 bbox
mAP50-90 = 0.446
mAP50 = 0.612
mAP75 = 0.484
bbox
mAP50-90 = 0.404
mAP50 = 0.593
mAP75 = 0.45
数据集(coco val2017, 5000 张图像)
yolov8s_det(v8.0.207, rect = False)
图像分割 yolov8s_seg [1,3,640,640] u8/u8 7.845 bbox
mAP50-90 = 0.444
mAP50 = 0.606
mAP75 = 0.484
segm
mAP50-90 = 0.371
mAP50 = 0.578
mAP75 = 0.396
bbox
mAP50-90 = 0.444
mAP50 = 0.606
mAP75 = 0.484
segm
mAP50-90 = 0.371
mAP50 = 0.579
mAP75 = 0.397
数据集(coco val2017, 5000 张图像)
yolov8s_seg(v8.0.207, rect = False, conf_thres = 0.0008)
姿态估计 yolov8n_pose_320 [1,3,320,320] u8/u8 36.066 bbox
mAP50-90 = 0.6
mAP50 = 0.843
mAP75 = 0.654
keypoints
mAP50-90 = 0.358
mAP50 = 0.646
mAP75 = 0.353
bbox
mAP50-90 = 0.6
mAP50 = 0.841
mAP75 = 0.656
keypoints
mAP50-90 = 0.359
mAP50 = 0.648
mAP75 = 0.357
数据集(coco val2017, 2346 张图像)
yolov8n_pose(v8.0.207, rect = False)
yolov8n_pose_640 [1,3,640,640] u8/u8 10.88 bbox
mAP50-90 = 0.694
mAP50 = 0.909
mAP75 = 0.776
keypoints
mAP50-90 = 0.509
mAP50 = 0.798
mAP75 = 0.544
bbox
mAP50-90 = 0.694
mAP50 = 0.909
mAP75 = 0.777
keypoints
mAP50-90 = 0.508
mAP50 = 0.798
mAP75 = 0.54
数据集(coco val2017, 2346 张图像)
yolov8n_pose(v8.0.207, rect = False)
yolov8s_pose [1,3,640,640] u8/u8 5.568 bbox
mAP50-90 = 0.733
mAP50 = 0.925
mAP75 = 0.818
keypoints
mAP50-90 = 0.605
mAP50 = 0.857
mAP75 = 0.666
bbox
mAP50-90 = 0.734
mAP50 = 0.925
mAP75 = 0.819
keypoints
mAP50-90 = 0.604
mAP50 = 0.859
mAP75 = 0.669
数据集(coco val2017, 2346 张图像)
yolov8s_pose(v8.0.207, rect = False)

演示

视线追踪 space_resize 人脸姿态
gif gif

K210/K510

支持的算子


特性

  • 支持多输入输出与多分支结构
  • 静态内存分配,无需申请堆内存
  • 算子融合与优化
  • 支持浮点与 uint8 量化推理
  • 支持使用校准数据集对浮点模型进行训练后量化
  • 扁平化模型,支持零拷贝加载

架构

nncase arch

从源码编译

推荐直接通过 pip 安装 nncase。目前 k510 与 K230 芯片相关源码尚未开源,因此无法通过编译源码的方式直接使用 nncase-K510nncase-kpu(K230)。

如果你的模型中存在 nncase 尚未支持的算子,可以在 issue 中提出需求,或自行实现并提交 PR。后续版本会合并这些改动,也可以联系我们提供临时版本。
以下是编译 nncase 的步骤。

git clone https://github.com/kendryte/nncase.git
cd nncase
mkdir build && cd build

# Use Ninja
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./install
ninja && ninja install

# Use make
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./install
make && make install

资源

嘉楠开发者社区

嘉楠开发者社区 汇集了与 K210、K510 和 K230 相关的所有资源。

  • 资料下载 --> 三款芯片对应开发板的预编译镜像。
  • 文档 --> 三款芯片对应的文档。
  • 模型库 --> 可在 K210 与 K230 上运行的工业、安防、教育等场景的示例与代码。
  • 模型训练 --> K210 与 K230 的模型训练平台,支持多种场景的训练。

Bilibili

K210 相关仓库

K230 相关仓库


8 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 18 ms
Developed with Cursor