https://github.com/Tencent/ncnn
ncnn 是腾讯开源的神经网络推理框架
- 支持深度学习模型 caffe/mxnet/keras/pytorch(onnx)/darknet/tensorflow(mlir)
- 跨平台:Windows/Linux/MacOS/Android/iOS/WebAssembly/...
- 兼容多种 CPU 架构:x86/arm/mips/risc-v/...
- 支持 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
为 d1 架构交叉编译 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_OPENMP=OFF -DNCNN_THREADS=OFF -DNCNN_RUNTIME_CPU=OFF -DNCNN_RVV=ON -DNCNN_SIMPLEOCV=ON -DNCNN_BUILD_EXAMPLES=ON ..
make -j32
d1 默认的 TinaLinux 执行 ncnn 程序时会发生非法指令错误,必须使用 Debian 系统哦
将 ncnn/build-c906/benchmark/benchncnn
和 ncnn/benchmark/*.param
拷贝到 d1开发板上
./benchncnn 4 1 0 -1 0
将 ncnn/build-c906/examples/nanodet
和测试图片拷贝到 d1开发板上
从这里下载 nanodet 模型文件并拷贝到 d1开发板上
https://github.com/nihui/ncnn-assets/tree/master/models
./nanodet test.jpg
输出检测结果信息,并保存在 image.png
0 = 0.82324 at 200.04 44.89 198.96 x 253.33
0 = 0.78271 at 32.98 63.45 178.15 x 232.92
56 = 0.45923 at 1.46 71.92 90.14 x 117.85
imshow save image to image.png
waitKey stub
Hi,请问可以把
d1 默认的 TinaLinux 执行 ncnn 程序时会发生非法指令错误,必须使用 Debian 系统哦
这句话移到文章的前边吗?走到倒数第二步才发现要重装系统的话,看起来有点怪