参考
https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-linux
https://zhuanlan.zhihu.com/p/137458205
https://blog.csdn.net/weixin_40970506/article/details/105148061
https://blog.csdn.net/heiheiya/article/details/100320682
https://blog.csdn.net/a1040193597/article/details/102980871
编译ncnn的准备工作:g++, cmake,protobuf,opencv
前两个不必说,很容易。其中安装protobuf和opencv都可以分别写一篇博客了。
opencv
不仅是对于ncnn,无论是对于哪种部署方式,opencv都是必须的。所以一定要提前装好。网上教程蛮多,这里推荐一篇还不错的
protobuf
安装包下载
https://github.com/protocolbuffers/protobuf/releases/
编译安装protobuf,在下载代码目录
tar -xzvf 你的代码.tar.gz
./configure
make
make check
sudo make install
sudo ldconfig
查看安装版本: protoc --version
输出(例如):
/media/chl/workfiles/AI_project/embedded_project/protobuf-3.7.0$ protoc --version
libprotoc 3.7.0
编译ncnn
git clone https://github.com/Tencent/ncnn.git
cd ncnn
mkdir -p build
cd build
cmake -DNCNN_VULKAN=OFF ..
make -j4
编译成功后会在当前目录生成examples
目录,执行测试代码
完成编译及samples
测试例子
cp ../examples/squeezenet_v1.1.bin examples/
cp ../examples/squeezenet_v1.1.param examples/
cd examples
./squeezenet test.jpg
# 运行成功会显示top-3的类别id和概率值.