塞巴斯蒂安 发表于 2022-1-27 01:21:46

哪吒系列文章之12——ncnn支持

本帖最后由 塞巴斯蒂安 于 2022-1-27 01:21 编辑

简介

本威力加强包由合作伙伴 腾讯 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


一、使用方法

01、准备交叉编译工具链

去平头哥芯片开放社区下载 工具链-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
02、下载和编译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
03、测试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
在全志d1开发板上玩ncnn


页: [1]
查看完整版本: 哪吒系列文章之12——ncnn支持