Linux下深度学习常用工具的安装

.Matlab 2015 64bit 的安装

  (一)安装包下载

       百度网盘: [https://pan.baidu.com/s/1gf9IeCN], 密码: 4gj3

  (二)Vmware 使用Windows共享目录

        更改虚拟机设置时需要将系统关机,挂起状态不可以设置,Linux共享目录位于/mnt/hgfs

        

  (三) 挂载镜像文件

         在Terminal中输入如下命令:

   cd /mnt/hgfs/
  sudo mount -o loop 迅雷下载/R2015b_glnxa64.iso /media/matlab/

  (四)执行安装

  在Terminal中输入如下命令:

  cd /media
  mkdir matlab
  sudo ./install

  

    

  

  (五)破解

  将crack文件夹下的libmwservices.so copy到 /usr/local/MATLAB/R2014A/bin/glnxa64

  在Terminal中输入如下命令:

  cd /usr/local/MATLAB/R2015b/bin/
  sudo ./matlab

  

  

  cd /mnt/hgfs/ 迅雷下载/Matlab\ 2015b\ Linux64\ Crack/R2015b/bin/
  sudo cp -r glnxa64 /usr/local/MATLAB/R2015b/bin/

  (五)运行测试

  运行测试是否成功破解

  在Terminal中输入如下命令:

  cd /usr/local/MATLAB/R2015b/bin/
   sudo ./matlab

 2.caffe 安装

    (一)配置apt-get源为国内服务器,备份原配置文件,更新地址为清华镜像或阿里镜像

  在Terminal中输入如下命令:

  cd /etc/apt
  sudo cp sources.list sources.list.bak
  vi sources.list  
  # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
  deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
  # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
  deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
  # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
  deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
  # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
  deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
  # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

  # 预发布软件源,不建议启用
  # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
  # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse

   (二)依赖包安装

  在Terminal中输入如下命令:

  sudo apt-get update
  sudo apt-get install git 
  sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
   sudo apt-get install --no-install-recommends libboost-all-dev
  sudo apt-get install libatlas-base-dev
   sudo apt-get install python-dev
   sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

   (三)caffe源码下载  

  git clone https://github.com/bvlc/caffe.git
  cd caffe/
  mv Makefile.config.example Makefile.config

  (四)执行编译

  修改Makefile.config,打开CPU_ONLY选项,保存;

  即第6行修改为

 # CPU-only switch (uncomment to build without GPU support).
   CPU_ONLY := 1

     第85行修改为

   INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/

     修改Makefile文件173行

   LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial

  执行编译

  make –j4
  make test -j4
  make runtest -j4

  当返回PASSED结果时即为编译成功

  #GPU编译错误: undefined reference to `cv::imread(cv::String const&, int),即找不到OpenCVC动态链接库
  sudo gedit Makefile , 修改为
  LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial opencv_core opencv_highgui opencv_imgproc  

 3.TensorFlow安装

    (一)获取并安装python-pip,python-dev

  sudo apt-get install python-pip python-dev

 (二)下载TensorFlow

  https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl

 (三)安装TensorFlow

  pip install tensorflow-0.8.0-cp27-none-linux_x86_64.whl

    出现Successfully installed numpy-1.14.3 protobuf-3.0.0b2 tensorflow-0.8.0即说明已经安装成功

    注意:如果同时安装了python2和python3,使用pip安装时可能会报错,例如上述安装包tensorflow-0.8.0-cp27-none-linux_x86_64.whl代表python2.7版本的,因此需要使用pip2 install

    如何测试:

    在Linux Shell中输入python进入交互模式

  import tensorflow as tf
  hello = tf.constant("Hello World, TensorFlow!")
  sess = tf.Session()
  print(sess.run(hello))

   根据运行结果  Hello World,TensorFlow!  即可判断成功安装

 4.Matconvnet的编译

 (一)打开Matlab

 cd /usr/local/MATLAB/R2015b/bin/
 sudo ./matlab

 (二)定位到Matconvnet目录,执行编译

   cd /usr/local/MATLAB/R2015b/bin/
  vl_setupnn
  vl_compilenn('verbose',1) 

    问题1  gcc,g++版本不匹配

  #Warning: You are using gcc version '5.4.0-6ubuntu1~16.04.9)'.
  #The version of gcc is not supported. The version currently
  #supported with MEX is '4.7.x'.  

  sudo apt-get  install gcc-4.7
  sudo apt-get  install g++-4.7
  cd /usr/bin/
  sudo rm gcc
  sudo ln -s gcc-4.7 gcc
  gcc -v
  sudo rm g++
  sudo ln -s g++-4.7 g++
  g++ -v 

5.CUDA和CUDNN的安装(虚拟机不能使用CUDA)

 CUDA是NVIDIA的编程语言平台,想使用GPU就必须要使用cuda,CUDNN是GPU加速计算深层神经网络的库。

 以安装Cuda-9.2为例,具体版本请根据实际需求选择

 

  在NVIDIA官网选择驱动下载(https://developer.nvidia.com/compute/cuda/9.2/Prod/local_installers/cuda-repo-ubuntu1604-9-2-local_9.2.88-1_amd64),如出现网络打不开可将链接复制到迅雷下载

  执行如下操作:

  sudo dpkg -i cuda-repo-ubuntu1604-9-2-local_9.2.88-1_amd64.deb
  sudo apt-key add /var/cuda-repo-9-2-local/7fa2af80.pub
  sudo apt-get update
  sudo apt-get install cuda
  nvidia-smi  

  问题1  由于虚拟机不支持对主机显卡的调用,安装cuda后可能会导致重启后无法进入图形界面

     通过执行 sudo apt-get purge nvidia-*  删除原Nvidia显卡驱动,执行reboot即可

 问题2 最新版TensorFlow-GPU版本不支持Cuda-9.2(python中执行import tensorflow提示Tensorflow:ImportError:libcusolver.so.9.0)
    
请安装cuda-9.0

  CUDN的安装

  ①下载 https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v7.1.4/prod/9.2_20180516/cudnn-9.2-linux-x64-v7.1

  ②解压文件,并拷贝到usr/local/cuda/目录

  #使用如下语句在当前目录解压,解压后生成include和lib64文件夹
  tar -zxvf cudnn-9.2-linux-x64-v7.1.tgz
  #将lib文件和对应头文件拷贝到/usr/local目录   cd cuda/lib64/   sudo cp lib* /usr/local/cuda/lib64/
  cd ../   sudo cp include/cudnn.h /usr/local/cuda/include/

  ③更新软连接

  cd /usr/local/cuda/lib64
  sudo rm -rf libcudnn.so libcudnn.so.7
  sudo ln -s libcudnn.so.7.1.4 libcudnn.so.7
  sudo ln -s libcudnn.so.7 libcudnn.so

  ④添加环境变量

  sudo gedit /etc/profile

   在打开的文件中加入如下两句话

  export PATH=/usr/local/cuda/bin:$PATH
  export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

   保存后,使环境变量立即生效

  source /etc/profile

  ⑤安装cudnn example

  cd /usr/local/cuda/samples
  sudo make all -j4

   全部编译完成后,进入 samples/bin/x86_64/linux/release, 运行deviceQuery

  cd bin/x86_64/linux/release
  ./deviceQuery 

 6.OpenCV的安装和使用

  ①.依赖库安装

  sudo apt-get install cmake
  sudo apt-get install build-essential
  sudo apt-get install libgtk2.0-dev
  sudo apt-get install libavcodec-dev
  sudo apt-get install libavformat-dev
  sudo apt-get install libjpeg.dev
  sudo apt-get install libtiff4.dev
  sudo apt-get install libswscale-dev
  sudo apt-get install libjasper-dev

  ②.从官网(https://github.com/opencv/opencv/tree/3.4.1)下载源码,编译安装

  cp -r opencv-2.4.13.6.zip /home/shine/Downloads/
  cd /home/shine/Downloads/
  unzip opencv-2.4.13.6.zip
  cd opencv-2.4.13.6/
  mkdir build
  cd build/

  ③.创建build目录并在该目录下生成Makefile文件,指定安装路径为/usr/local/(参考 https://stackoverflow.com/questions/45518317/in-source-builds-are-not-allowed-in-cmake  

  cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local
  sudo make -j4
  sudo make install -j4
  make clean

  如需安装opencv_contribute(扩展包中的很多代码并没有通过大量的稳定性测试,但是其基本功能还是可以运行的),对命令进行修改(需自行下载opencv_contrib),例如本例中保存路径为~/Downloads

  #如下命令指定安装路径以及扩展包的路径,请根据实际修改
  cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local  -D OPENCV_EXTRA_MODULES_PATH=~/Downloads/opencv_contrib-master/modules ..
  sudo make -j4
  sudo make install -j4
  make clean
  
#若出现No package 'gstreamer-video-1.0' found,请参考http://answers.opencv.org/question/95734/cmake-not-picking-gstreamer-on-ubuntu/
  #若出现Unknown CMake command "ocv_append_source_files_cxx_compiler_options,请参考https://blog.csdn.net/qq_40155090/article/details/79977423
  #配置过程中可能出现face_landmark_model.dat下载过慢导致的失败,请使用VPN下载
https://raw.githubusercontent.com/opencv/opencv_3rdparty/8afa57abc8229d611c4937165d20e2a2d9fc5a12/face_landmark_model.dat后放置于/opencv-3.4.1/.cache/data目录
  #配置成功后的截图如下所示,May you succeed, congruations and enjoy  
  
  #执行sudo make -j4进行编译时可能会遇到各种奇怪的问题(例如hdf5.cpp编译失败),因此需要确保opencv-master与opencv-contribute为一个版本,建议都使用github上的版本

  #编译时出现~Download/opencv_contrib-master/modules/xfeatures2d/src/boostdesc.cpp:653:37: fatal error: boostdesc_bgm.i: No such file or directory compilation terminated.
  #参考 https://github.com/opencv/opencv_contrib/issues/1301
     http://answers.opencv.org/question/113942/cmake-failing-with-hash-mismatch/
  #如果问题仍然没有解决,尝试下载上述缺少的文件放在~/Downloads/opencv_contrib-master/modules/xfeatures2d/src目录下即可
  
  #编译时出现opencv2/xfeatures2d/cuda.hpp: No such file or directory
  #参考https://github.com/opencv/opencv_contrib/issues/1131,执行cmake -DBUILD_opencv_xfeatures2d=OFF ..
 
  #编译时出现opencv2/sfm/conditioning.hpp: No such file or directory
  #执行了sudo make clean;sudo make -j4;后问题解决了(无法解释)

  如何查看OpenCV版本

   pkg-config --modversion opencv

  ④.添加库路径 

  sudo vi /etc/ld.so.conf.d/opencv.conf , 输入/usr/local/lib , :wq保存并退出

  ⑤.添加环境变量

  sudo vi /etc/profile 
  #在末尾输入 
  export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
  export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
  #更新环境变量:
  source /etc/profile
  sudo vi /etc/bash.bashrc

  #在末尾输入
  export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
  export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
  #更新环境变量
  source /etc/profile

  ⑥.更新系统库配置

  sudo ldconfig

  ⑦.查看是否安装成功

  pkg-config --cflags opencv  
  pkg-config --libs opencv

  ⑧.执行测试程序,定位到sample目录,执行build_all

  cd /home/shine/Downloads/opencv-2.4.13.6/samples/c
  ./build_all.sh
  ./find_obj

  若执行build_all编译时出现如下错误 

  compiling contours.c
  /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o: unrecognized relocation (0x2a) in section `.init'
  /usr/bin/ld: final link failed: Bad value
  collect2: error: ld returned 1 exit status

  可能是没有安装binutils,执行

  sudo apt-get install binutils
  ./build_all.sh
  ./find_obj

 7.Jupyter

  ①安装

  sudo pip3 install --upgrade pip
  sudo pip3 install jupyter
  sudo pip install matplotlib

  以上命令使用python3为基础,因此运行jupyter会调用python3,若要使用python2请使用
  sudo pip install jupyter

  ②测试使用  

  jupyter notebook

  随后在浏览器界面即可使用 http://localhost:8888/notebooks 进行登陆

  

  8.shadowsocks

   sudo apt-get update
   sudo apt-get install python-pip
   sudo pip install shadowsocks
   sudo gedit /etc/shadowsocks.json 

   配置shadowsocks,粘贴如下内容

  {"server":"xx.xx.xx.xx",
   "server_port":xxxx,
   "local_address": "127.0.0.1",
   "local_port":1080,
   "password":"xxxxxxxx",
   "timeout":300,
   "method":"aes-256-cfb",
   "fast_open": true,
   "workers": 1
  } 
  sudo sslocal -c /etc/shadowsocks.json -d start
  sudo gedit /etc/rc.local

  配置开机启动

  在exit0上一行加上/usr/local/bin/sslocal -c /etc/shadowsocks.json -d start

  ①火狐浏览器使用

  打开Add-ons,搜索FoxyProxy Standard,点击Add To Firefox,添加完成后点击右上角图表进入Options,即如下图所示

  

  点击左上角Add,其中Title可随便定义,IP以及Port同上shadowsocks配置,默认为127.0.0.1,1080

  

  ②谷歌浏览器使用

  从github上下载最新的插件SwitchyOmega-Chromium-2.5.15.crx,将其拖到chrome中即可完成安装,同理完成上述配置,点击Apply Changes

  

  可通过右上角选择Direct或proxy选择时候走代理通道

 9.Linux下载工具aria2

  推荐这个工具主要在于Linux下没有比较好的绿色百度网盘下载器,由于百度对非会员进行速度限制(默认50Kb/s),并强制大文件通过百度云管家下载,具体操作如下

  # aria2安装
  sudo apt-get install aria2
  # 安装浏览器插件,推荐chrome,从github下载zip文件,打开chrome://extensions/,将文件夹中的BaiduExporter.crx拖到浏览器即可
  # https://codeload.github.com/acgotaku/BaiduExporter/zip/master

  # 将需要下载的文件保存到个人网盘,在界面中选择导出下载,选择其中的文本导出,将窗口中命令复制到命令行中运行即可

  

#博主测试使用aria2下载速度应该在500kb/s左右
#如果希望达到更快的速度,请参考 https://github.com/proxyee-down-org/proxyee-down
#使用proxyee-down下载同时将分段数调到最大(windows版本请自行百度)

 10.sourceinsight

  sourceinsight是windows下常用的代码浏览工具,虽然使用vim+ctags也能达到类似的效果,但习惯上还是更倾向于使用sourceinsight

  sourceinsight没有linux的发行版本,因此要在ubuntu上运行需要安装wine,具体操作方式如下(需要自行下载sourceinsight安装包,3.5版本激活码SI3US-205035-36448):  

  sudo apt-get install wine
  wine Si3583Setup.exe  

  参考文献:

  1.https://www.nvidia.cn/object/caffe-installation-cn.html (如何在 NVIDIA GPU 上下载并安装CAFFE)

   

原文地址:https://www.cnblogs.com/WaitingForU/p/9022217.html