nncase 是面向 AI 加速器的神经网络编译器。
Telegram:nncase 社区
技术讨论 QQ 群:790699378 答案:人工智能
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
所有版本的 nncase 与 nncase-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 | 人脸姿态 |
|---|---|---|
![]() |
![]() |
![]() |
推荐直接通过 pip 安装 nncase。目前 k510 与 K230 芯片相关源码尚未开源,因此无法通过编译源码的方式直接使用 nncase-K510 与 nncase-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 相关的所有资源。