Mc-cnn的环境离线配置

===========Mc-cnn的环境配置,离线 =================
Ubuntu16.04 + Cuda8.0 + cudnn5 + opencv2.4 +   png++  + torch7

本文适合离线配置环境, 在线配置,可以参考文末链接

目录

1. 更新显卡驱动     

2. 安装cuda

3.安装cudnn

4. 安装opencv2.4

5.PNG++安装:

6. torch离线 安装:


1. 更新显卡驱动     

      tips: 建议先下载cuda, 根据cuda版本对驱动的要求,下载符合要求的驱动.。例如:cuda为cuda_8.0.61_375.26_linux.run, 即要求驱动版本不能低于375
    1.1: 关闭图形化桌面, 如果是服务器,跳过
        

>> ctrl + Alt + F1
>> sudo service ligthdm stop


    1.2: 卸载旧驱动
        

>> sudo apt-get install autoremove --purge nvidia*
>> sudo apt-get purge nvidia-*
验证卸载成功:使用nvidia-smi, 不会出来显卡信息,即为OK.


    1.3: 安装新的驱动:

>> sudo chmod a+x cuda_8.0.61_375.26_linux.run   // 获取权限
>> sudo bash NVIDIA-Linux-x86_64-430.26.run  //本地
>> sudo bash NVIDIA-Linux-x86_64-430.26.run --no-x-check //服务器


    1.4 启动图形界面
      

 >> sudo service lightdm restart

2. 安装cuda


    2.1: 安装
        

>> sudo sh cuda_8.0.61_375.26_linux.run
>> Q跳过文件阅读, 除了安装驱动的选项选择no,其他默认/yes


    2.2: 添加环境变量
        ? 还没弄清楚这几种方法的区别?
        方法1.

a.添加环境变量:
  >> sudo gedit /etc/profile
  在文件末尾添加:
  export PATH=/usr/local/cuda-8.0/bin:$PATH
  export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
b.添加Lib库路径 (可选)
  在/etc/ld.so.conf.d加入cuda.conf: 
  >> vim /etc/ld.so.conf.d/cuda.conf
  加入新内容: /esr/local/cuda-8.0/lib64
  >> sudo ldconfig 
c.查看是否安装成功: nvcc -V  

方法2.

>> vim ~/.bashrc
在文件末尾添加: 
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
>> source ~/.bashrc    
        


        方法3.

>>sudo gedit ~/.bash_profile
在文件末尾添加: 
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64:/usr/local/cuda-8.0/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda-8.0
>>source ~/.bashrc
        


    2.3 验证是否安装成功:

>> cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
>> sudo make
>> ./deviceQuery

如果显示result=PASS 则安装成功    


    2.4 如果需要卸载cuda重装:
      

>> cd /usr/local/cuda/bin
>> sudo ./uninstall_cuda_8.0.pl

3.安装cudnn


    1.cudnn中文件结构:
      

 ---include
            cudnn.h
 ---lib64
            libcudnn.so
            libcudnn.so.6
            libcudnn.so.6.0.5
            libcudnn_static.a


    
    2. 配置
      

 方法1: (12345)或(12346)
            1>> tar xvzf cudnn-8.0-linux-x64-v5.1.tgz // 解压后文件名为cuda, 重命名为cudnn
            2>> cd cudnn
            3>> sudo cp include/cudnn.h /usr/local/cuda/include/
            4>> sudo cp lib64/libcudnn* /usr/local/cuda/lib64
            5>> sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
            6.1>> sudo rm libcudnn.so.6  libcudnn.so
            6.2>> sudo ln libcudnn.so.6.0.5 libcudnn.so.6
            6.3>> sudo ln libcudnn.so.6 libcudnn.so
方法2:
            1>> vim ~/.bashrc
            2>> 添加 export LD_LIBRARY_PATH=xxx/xxx/cudnn/lib64:$LD_LIBRARY_PATH
            3>> source ~/.bashrc
            重启terminal
            5>> sudo cp include/cudnn.h /usr/local/cuda/include/
            6>> sudo chmod a+r /usr/local/cuda/include/cudnn.h 


4. 安装opencv2.4


    4.1 编译安装:
      

1.下载,解压,cd opencv-2.4.13
2. >> mkdir release
3. >> cd release
4. >> cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
5. >> make -j4
6. >> sudo make install


    4.2 配置环境:
      

 1. 加入系统路径: 
>> sudo vim /etc/ld.so.conf.d/opencv.conf
>> 末尾加入: /usr/local/lib
>> sudo ldconfig
>> sudo vim /etc/bash.bashrc
>>末尾加入:export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
 >> sudo source /etc/bash.bashrc // 如果报错,则需要切换到root, source /etc/bash.bashrc
 >> ctrl+d (退出root)
>> sudo updatedb //更新database


        2.测试用例是否成功, 见参考链接:https://blog.csdn.net/u011557212/article/details/54706966


5.PNG++安装:

 

5.1. 下载PNG++所依赖的libpng和zlib====libpng-1.2.53.tar; zlib-1.2.8.tar;

下载地址:http://sourceforge.net/projects/libpng/files/libpng12/1.2.53/libpng-1.2.53.tar.xz/download 

解压,libpng和zlib安装指令一样,如下:

./configure

make check

sudo make install

make check

sudo ldconfig

    5.2. 安装png++:  png++-0.2.9:http://download.savannah.gnu.org/releases/pngpp/ 

>> make  # 如果出现pixel_generator.deb not found 类似的错误,再运行一遍make
>> make test  # 貌似又一些错误可以忽略不管,只要最后一步测试用例可以通过即可
>> make install PREFIX=$HOME 

测试用例参考:https://blog.csdn.net/qq_37641714/article/details/86067091


 

6. torch离线 安装:


    1.使用之前联网机子上编译好的torch文件。 不确定没有编译好的可不可以用,感觉应该也可以, 因为后期又重新install 了。
    2.正常联网运行install-deps,是装依赖,主要是BLAS,和lapack. 离线的话,需要手动装

######## OpenBLAS 安装

1.下载,,解压,cd OpenBLAS-0.3.9
2.make
3.sudo make PREFIX=/usr/local/OpenBLAS install
    make -j 8 -f Makefile.install install
    make[1]: Entering directory '/home/userxxx/demo/Stereo_Depth/mccnn/install_package/OpenBLAS-0.3.9'
    Generating openblas_config.h in /usr/local/OpenBLAS/include
    Generating f77blas.h in /usr/local/OpenBLAS/include
    Generating cblas.h in /usr/local/OpenBLAS/include
    Copying LAPACKE header files to /usr/local/OpenBLAS/include
    Copying the static library to /usr/local/OpenBLAS/lib
    Copying the shared library to /usr/local/OpenBLAS/lib
    Generating openblas.pc in /usr/local/OpenBLAS/lib/pkgconfig
    Generating OpenBLASConfig.cmake in /usr/local/OpenBLAS/lib/cmake/openblas
    Generating OpenBLASConfigVersion.cmake in /usr/local/OpenBLAS/lib/cmake/openblas
    Install OK!
    make[1]: Leaving directory '/home/userxxx/demo/Stereo_Depth/mccnn/install_package/OpenBLAS-0.3.9'

#### lapack-3.5.0.tgz 安装

1.tar xzf lapack-3.5.0.tgz
2.cd lapack-3.5.0/
3.mkdir build
4.cd build/
5.cmake ..
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /home/userxxx/demo/Stereo_Depth/mccnn/install_package/lapack-3.5.0/build

报错: cmake fortran compiler not found.
方案: lapack可以通过cmake编译安装, 也可以通过apt-get安装, 可以先通过下载deb安装libblas-dev,liblapack-dev后, 再云顶step5中的cmake ..
libfortran下载地址:https://launchpad.net/~ubuntu-security-proposed/+archive/ubuntu/ppa/+build/15039877


6.修改CMakeCache.txt:
    CMAKE_INSTALL_PREFIX:PATH=/usr/local
    USE_OPTIMIZED_BLAS:BOOL=OFF
    blas_LIB_DEPENDS:STATIC=general;m; 改为:blas_LIB_DEPENDS:STATIC=/usr/local/OpenBLAS/lib/libopenblas.a
7.make
    .......
    [100%] Linking Fortran executable ../../bin/xeigtstd
    [100%] Built target xeigtstd

8.sudo make install
    Install the project...
    -- Install configuration: ""
    -- Installing: /usr/local/lib/pkgconfig/lapack.pc
    -- Installing: /usr/local/lib/cmake/lapack-3.4.2/lapack-config.cmake
    -- Installing: /usr/local/lib/cmake/lapack-3.4.2/lapack-config-version.cmake
    -- Installing: /usr/local/lib/cmake/lapack-3.4.2/lapack-targets.cmake
    -- Installing: /usr/local/lib/cmake/lapack-3.4.2/lapack-targets-noconfig.cmake
    -- Installing: /usr/local/lib/pkgconfig/blas.pc
    -- Installing: /usr/local/lib/libblas.a
    -- Installing: /usr/local/lib/liblapack.a
    -- Installing: /usr/local/lib/libtmglib.a


    3.在torch中,注意install.sh文件中的line46:

export CMAKE_LIBRARY_PATH=/opt/OpenBLAS/include:/opt/OpenBLAS/lib:$CMAKE_LIBRARY_PATH
报错1: cmake not found, 虽然通过cmake --version, which cmake, whereis cmake, 均可以看到已经装了cmake,但编译的时候仍然报错, 可以重新装一遍cmake, 最好装与当前cmake --version 版本一致的.
报错2: install.sh时,出现有关libz.so的错误, 但是通过查找并没有发现/usr/lib, /usr/lib/x86....等存在libz文件,可能是系统根本没有装libz库, 所以通过下载deb包安装后再继续运行。


    说明寻找OpenBLAS时,是在/opt/路径下找的,可能是在线安装时,默认的安装路径把. 因为我们离线安装在了/usr/local/OpenBLAS, 所以将/usr/local/下的OpenBLAS拷贝到/opt/下即可.
4.重新运行./install.sh   出现错误:

CMake Error at cmake/FindCUDNN.cmake:141 (file):
      file failed to open for reading (No such file or directory):

        /usr/local/include/cudnn.h
    Call Stack (most recent call first):
      CMakeLists.txt:15 (FIND_PACKAGE)


    -- Configuring incomplete, errors occurred!
    See also "/home/torch/extra/cudnn/build/CMakeFiles/CMakeOutput.log".

    Error: Build error: Failed building.


    Do you want to automatically prepend the Torch install location
    to PATH and LD_LIBRARY_PATH in your /home/.bashrc? (yes/no)
    [yes] >>> 
    yes


ORZ....似乎cmake没有找到cudnn......
5.直接将cudnn.h拷贝到/usr/local/include下
    

cd ~/userxxx/demo/Stereo_Depth/mccnn/install_package/cudnn/include
sudo cp cudnn.h /usr/local/include


6.再次运行./install.sh
  

这次显示:
 Found CUDA on your machine. Installing optional CUDA packages
    cmake -E make_directory build && cd build && cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="/home/torch/install/bin/.." -DCMAKE_INSTALL_PREFIX="/home/torch/install/lib/luarocks/rocks/cudnn/scm-1" && make

    -- Found Torch7 in /home/torch/install
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /home/torch/extra/cudnn/build
    cd build && make install
    Install the project...
    -- Install configuration: "Release"
    -- Installing: /home/torch/install/lib/luarocks/rocks/cudnn/scm-1/lua/cudnn/BGRU.lua
    -- Installing: /home/torch/install/lib/luarocks/rocks/cudnn/scm-1/lua/cudnn/BLSTM.lua
    .......
    .......
    Updating manifest for /home/torch/install/lib/luarocks/rocks
    cudnn scm-1 is now built and installed in /home/torch/install/ (license: BSD)

    Do you want to automatically prepend the Torch install location
    to PATH and LD_LIBRARY_PATH in your /home/.bashrc? (yes/no)
    [yes] >>> 
    yes

其他一些不确定是否必须的包的安装:


#######离线的lua安装:

1. 下载lua-5.2.3包
2. sudo make linux test
    # error:recipe for target 'lua.o' failed, fatal error: readline/readline.h: No such file or directory, 是因为没有装readline包
3.下载libreadline-dev_6.3-8ubuntu2_amd64.deb, 及其依赖
    # sudo dpkg -i xxxx.deb
4.sudo make linux test
5.输入lua,显示如下:
    The program 'lua' can be found in the following packages:
     * lua5.2
     * lua5.1
     * lua50
    Try: sudo apt install <selected package


6.正常联网时应该:sudo apt install lua5.2, 由于离线安装,需要先下载包,及其一系列包下载liblua50-dev_5.0.3-7_amd64.deb,

#sudo dpkg -i xxx.deb


8.安装完,输入lua, 测试
  

 Lua 5.0.3  Copyright (C) 1994-2006 Tecgraf, PUC-Rio
    > io.write("hello world\n")
    hello world

 


tips:

  • apt-get需要联网, 离线时,先下载deb包,再安装:
    • 例如: libreadline-dev , 从Ubuntu官网下载库,通过sudo dpkg -i libreadline-dev 安装,需要注意其所依赖的环境。

遇见的错误:


参考连接:

1. MC-CNN环境配置:https://blog.csdn.net/qq_37641714/article/details/86067091

https://blog.csdn.net/fighter_zzh/article/details/81712047

3.cuda安装:

https://blog.csdn.net/EliminatedAcmer/article/details/80528980

 

4.cudnn安装:

https://blog.csdn.net/u013066730/article/details/80894063

 

5.opencv安装:

https://blog.csdn.net/u011557212/article/details/54706966

6.

离线安装dev包 替代apt-get:https://blog.csdn.net/xing1989/article/details/8763914

7.deb包下载地址:

https://packages.ubuntu.com/

8. BLAS安装:

https://blog.csdn.net/zhe_csdn/article/details/98477939

9. lapack 安装参考, 下载地址:​http://www.netlib.org/lapack/, 安装方式:http://piaolingspace.blogspot.com/2017/09/ubuntu-1604openblas-lapack.html

10.png++安装参考:https://www.nongnu.org/pngpp/doc/0.2.5/; 注意最后一步验证是否成功时, 不是单引号

g++ -c example.cpp `libpng-config --cflags`

g++ -c example.cpp `libpng-config --cflags`

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值