ncnn支持
简介
本威力加强包由合作伙伴 腾讯 nihui 提供(https://github.com/Tencent/ncnn)
ncnn 是腾讯开源的神经网络推理框架
- 支持深度学习模型 caffe/mxnet/keras/pytorch(onnx)/darknet/tensorflow(mlir)
- 跨平台:Windows/Linux/MacOS/Android/iOS/WebAssembly/...
- 兼容多种 CPU 架构:RISC-V/x86/arm/mips/...
- 支持 GPU 加速:NVIDIA/AMD/Intel/Apple/ARM-Mali/Adreno/...
- 支持各种常见的模型结构,比如 mobilenet/shufflenet/resnet/LSTM/SSD/yolo...
- 很强,qq群请移驾 ncnn github 首页README
使用方法
准备交叉编译工具链
去平头哥芯片开放社区下载 工具链-900 系列:
https://occ.t-head.cn/community/download?id=3913221581316624384
比如 riscv64-linux-x86_64-20210512.tar.gz,下载后解压缩,设置环境变量
tar -xf riscv64-linux-x86_64-20210512.tar.gz
export RISCV_ROOT_PATH=/home/nihui/osd/riscv64-linux-x86_64-20210512
下载和编译ncnn
为 D1-H 架构交叉编译 ncnn
因为编译器 bug,release 编译会导致运行时非法指令错误,必须使用 relwithdebinfo 编译哦
git clone https://github.com/Tencent/ncnn.git
cd ncnn
mkdir build-c906
cd build-c906
cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/c906.toolchain.cmake -DCMAKE_BUILD_TYPE=relwithdebinfo -DNCNN_BUILD_TESTS=ON -DNCNN_OPENMP=OFF -DNCNN_THREADS=OFF -DNCNN_RUNTIME_CPU=OFF -DNCNN_RVV=ON ..
make -j32
测试benchncnn
D1-H 默认的 TinaLinux 执行 ncnn 程序时会发生非法指令错误,必须使用 Debian 系统哦
将 ncnn/build-c906/benchmark/benchncnn 和 ncnn/benchmark/*.param 拷贝到 D1-H开发板上
./benchncnn 4 1 0 -1 0
更多
原文链接及后续更新见: https://gist.github.com/nihui/ff7bfb3e48bb850a9d7bd495c0a6d373
知乎进展更新见: https://zhuanlan.zhihu.com/p/386312071?utm_source=qq&utm_medium=social&utm_oi=872955404320141312
全志在线进展更新②见: https://bbs.aw-ol.com/topic/705/