ncnn是腾讯优图实验室推出的一个为移动端极致优化的高性能神经网络前向计算框架,是目前同样也比较罕见的为 RISC-V 架构做过适配和优化的神经网络框架。
本文是一份教程,步骤 (step by step) 地展示了如何在一块全新的Milk-V Duo S 开发板开发板上,跑个 ncnn 神经网络推理框架的 demo。
首先从网络上下载NCNN的最新版源码。
git clone https://github.com/Tencent/ncnn.git
然后配置编译环境,配置好RISC-V的gcc和g++编译器地址,最好在ncnn 的cmakefile文件中set好。
set(CMAKE_C_COMPILER /home/gcc/riscv64-linux-musl-x86_64/bin/riscv64-unknown-linux-musl-gcc)
set(CMAKE_CXX_COMPILER /home/gcc/riscv64-linux-musl-x86_64/bin/riscv64-unknown-linux-musl-g++)
之后,新建一个duos的文件夹,并进入,执行cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/riscv64-linux-gnu.toolchain.cmake ..配置makefile文件。
root@DeepThink:~/ncnn/duo$ cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/riscv64-linux-gnu.toolchain.cmake ..
CMake Warning at CMakeLists.txt:446 (message):
The compiler does not support risc-v v or xtheadvector extension. NCNN_RVV
will be OFF.
CMake Warning at CMakeLists.txt:452 (message):
The compiler does not support risc-v xtheadvector extension.
NCNN_XTHEADVECTOR will be OFF.
CMake Warning at CMakeLists.txt:465 (message):
The compiler does not support risc-v zfh extension. NCNN_ZFH will be OFF.
然后执行make命令编译文件,直至完成。

将生成的benchncnn和主目录下的模型文件全部拷贝到Milk-V Duo S 开发板。
执行NCNN基准测试,结果如下:

|