Ubuntu14.04安装使用ncnn

ncnn是腾讯开源的一个针对手机端的cnn框架,本文介绍如何在Ubuntu14.04上安装并使用ncnn。

安装protobuf

下载protobuf源代码

sudo apt-get install autoconf automake libtool curl
git clone https://github.com/google/protobuf 
cd protobuf 

然后修改autogen.sh,这里需要注意的是gmock由于网络的原因无法下载,需要我们从别的地方下载好然后放到protobuf文件夹中,并修改autogen.sh中相应的内容,然后运行autogen.sh。
编译与安装protobuf

./configure
make
make check
sudo make install
sudo ldconfig 

默认的安装路径是/usr/local/lib。

编译ncnn

下载并编译ncnn

git clone https://github.com/Tencent/ncnn
cd ncnn
mkdir build && cd build
cmake ..
make -j
make install

这时在build/tools文件夹下有可执行文件caffe2ncnn和ncnn2mem,其作用分别是将caffe模型转成ncnn模型以及对ncnn模型进行加密。

ncnn的demo

先安装OpenCV,这里不详细介绍,可以参考网上已有的opencv安装脚本Install-Opencv-Master。
进入ncnn/examples
自己编写一个Makefile文件

NCNN = /home/jingao/ncnn

OPENCV = /home/jingao/Downloads/opencv-2.4.10

INCPATH =       -I${NCNN}/build/install/include \
                -I${OPENCV}/modules/objdetect/include \
                -I${OPENCV}/modules/highgui/include \
                -I${OPENCV}/modules/imgproc/include \
                -I${OPENCV}/modules/core/include

LIBS = -lopencv_core -lopencv_highgui -lopencv_imgproc  \
                -fopenmp -pthread

LIBPATH = -L${OPENCV}/lib

squeezenet:squeezenet.cpp
    $(CXX) $(INCPATH) $(LIBPATH) $^ ${NCNN}/build/install/lib/libncnn.a $(LIBS) -o $@

然后make,即可得到可执行文件squeezenet,
运行

squeezenet test.jpg

即可得到图像的分类结果。

参考

http://www.linuxidc.com/Linux/2016-01/127505.htm
http://blog.csdn.net/best_coder/article/details/76201275

你可能感兴趣的:(Ubuntu14.04安装使用ncnn)