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的安装
②解压文件,并拷贝到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)