MNNとNNNのインストール記録


インストールcmake


wget https://github.com/Kitware/CMake/releases/download/v3.15.0-rc1/cmake-3.15.0-rc1.tar.gz
tar -zxvf cmake-3.15.0-rc1.tar.gz
cd cmake-3.15.0-rc1
./bootstrap
make –j 
make install
cmake –version
pkg-config --libs opencv    //   lopencv*

wget https://cmake.org/files/v3.9/cmake-3.9.1-Linux-x86_64.tar.gz tar -zxvf cmake-3.9.1-Linux-x86_64.tar.gz wget https://cmake.org/files/v3.9/cmake-3.9.2.tar.gz

protobufのインストール


wget https://github.com/google/protobuf/releases/download/v3.4.1/protobuf-cpp-3.4.1.tar.gz
https://github.com/google/protobuf/archive/v3.1.0.zipここでは異なるバージョンのzipが得られます
tar -zxvf protobuf-cpp-3.4.1.tar.gz
cd protobuf-3.4.1/
./autogen.sh  ##   github            configure  
【  autoreconf】apt-get install autoconf automake libtool
./configure.sh
make –j
make check
make install
vim /etc/ld.so.conf
【  】/usr/local/lib
ldconfig
protoc –version   or  which protoc

Opencvのインストール


【opencv-3.2.0は3.1.0のprotobufが必要です.protobufバージョンが正しいと.cacheファイルを解析できます.cmakeではnumpyが必要です.つまり、Anaconda 2をインストールする必要がある可能性があります(Caffeはpython 3をあまりサポートしていないため).
$   sudo apt-get update
$   sudo apt-get upgrade
$   sudo apt-get -y install libopencv-dev build-essential cmake git libgtk2.0-dev pkg-config python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264v4l-utils unzip

vim /etc/profile
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/shiguangji/anaconda3/lib

source /etc/profile

そうでなければopencv例を実行中にエラーが発生します
  opencv-3.2.0:

wget https://github.com/opencv/opencv/archive/3.2.0.zip
wget https://github.com/opencv/opencv_contrib/archive/3.2.0.zip
【wget https://github.com/opencv/opencv/archive/2.4.13.5.zip -O opencv-2.4.13.5.zip】
unzip 3.2.0.zip
mv 3.2.0.zip.1 3.2.0_contrib.zip
unzip 3.2.0_contrib.zip –d opencv-3.2.0
mv .cache opencv-3.2.0【          cmake     ,  cmake        ,          ,    。https://download.csdn.net/download/u010342901/10173967】
cd opencv3.2.0
mkdir build
cd build

コンパイルオプション
cmake -D CMAKE_BUILD_TYPE=RELEASE \
 -D CMAKE_INSTALL_PREFIX=/usr/local \
 -D INSTALL_PYTHON_EXAMPLES=ON \
 -D INSTALL_C_EXAMPLES=ON \
 -D OPENCV_EXTRA_MODULES_PATH=/home/guofu.lgf/opencv-3.2.0/opencv_contrib-3.2.0/modules \
 -D PYTHON_EXECUTABLE=/root/anaconda3/bin/python \
 -D WITH_TBB=ON \
 -D WITH_V4L=ON \
 -D WITH_QT=ON \
 -D WITH_GTK=ON \
 -D WITH_OPENGL=ON \
 -D BUILD_EXAMPLES=ON \
 -D BUILD_TIFF=ON  ..

環境をつくる
make –j
make install

       :
  /etc/ld.so.conf.d/opencv.conf       /usr/local/lib    (        ,   )

ldconfig

  /etc/bash.bashrc

  PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

pkg-config opencv --cflags --libs       

cmake  ,   -D WITH_CUDA=ON \    CUDA   opencv

テスト
cd ../samples/cpp/example_cmake
cmake .
make

    ,       ”hello opencv”   

例:
  • vim helloworld.cpp
  • #include 
    using namespace cv;
    
    #include 
    
    int main( int argc, char** argv )
    {
        if( argc != 2 )//         
        {
            printf( " No image data 
    " ); return -1; } char* imageName = argv[1]; Mat image = imread( imageName, 1 );// ; if( !image.data)// { printf( " No image data
    " ); return -1; } namedWindow( imageName, CV_WINDOW_AUTOSIZE ); imshow( imageName, image );// waitKey(0); return 0; }
  • vim CMakeLists.txt
  • cmake_minimum_required(VERSION 2.8)
    project(helloworld)
    add_executable(helloworld helloworld.cpp)
    find_package(OpenCV REQUIRED)
    target_link_libraries(helloworld ${OpenCV_LIBS})
    

  • mkdir build
    cd build
    cmake ..
    make
    
    ./helloworld test.jpg      /*         ,    test       */ 
    

    質問1:fatal error:LAPACKE_H_PATH-NOTFOUND/lapacke.h:apt-get install liblapacke-dev checkinstall 2行目の#include"LAPACKE_H_PATH-NOTOFUND/lapacke.h"を#include"lapacke.h"に変更
    質問2:はいTIFFReadDirectory@LIBTIFF_4.0’未定義の参照https://blog.csdn.net/u011361393/article/details/83210824解決策は、対応するバージョンのTiffをダウンロードし、インストールすることです.
    質問3:cannot find-lopencv_dep_CudartはCMakeListsにある.txtのfind_Package(OpenCV REQUIRD)の前にset(CUDA_USE_STATIC_CUDA_RUNTIME OFF)を加え、その後cmakeを継続すればよい.
    解決しない場合は、すべてのライブラリをリンクするのではなく、一部のOpencvのライブラリをリンクします.つまりtarget_からlink_libraries(hello${OpenCV_LIBRARIES})をtarget_に変更link_libraries(hello-lopencv_core-lopencv_highgui-lopencv_imgproc-lopencv_video)/部分リンク

    コンパイルncnn


    ncnnをコンパイルする場合、/usr/bin/cake:/root/anaconda 3/lib/libcurlが現れる.so.4:no version information available(required by/usr/bin/cmake)では、ldd/usr/bin/cmake[新しいcmakeをインストールしていません.ソフトリンクが表示されます]libcurl.so.4 =》/root/anaconda3/lib/libcurl.so.4【これはcmakeインストールディレクトリのlibのlibcurlに変更する必要があることを示しています.実は~/.bashrcにanaconda 3を直接追加する環境もありますが、opencvのインストール時に警告があり、他の連鎖問題が発生するかどうか分からないので、ここでリンクの変更を選択します】
    ソリューション–ソフトリンクの変更:
    rm -rf /usr/local/lib/libcurl.so.4
    ln -s /usr/lib/x86_64-linux-gnu/libcurl.so.4.3.0 /usr/local/lib/libcurl.so.4 
      ~/.bashrc
    vim ~/.bashrc
    export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH【     】
    source ~/.bashrc
    

    インストールCaffe

    git clone https://github.com/BVLC/caffe.git
    cd caffe
    cp Makefile.config.example Makefile.config
    vim Makefile.config
    
      CPU_ONLY GPU   ,  OPENCV  (   3  ,     ),  python  :WITH_PYTHON_LAYER := 1
      hdf5  :
    INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
    LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
       :
    INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
    LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
    
    make all –j
    make test –j
    make runtest –j
    make pycaffe –j
    vim ~/.bahsrc
    export PYTHONPATH=/(caffe    )/caffe/python:$PYTHONPATH
    source ~/.bashrc
    

    問題1:build_release/lib/libcaffe.so:undefined reference to`leveldb::Status::ToStringabi:cxx 11 const'このような問題が発生した場合、gcc g++を以前のレベルに復元します【前にgccのダウングレードをしたことがあり、gccの混乱を招きます】解決策:cmake-D MNN_BUILD_DEMO=ON -D CUDA_USE_STATIC_CUDA_RUNTIME=OFF…問題2:Caffe HDF 5 header versionとHDF 5 libraryが一致しない例えばエラー:Headers are 1.10.1,library is 1.8.16ソリューション:conda install hdf 5=1.8.16