系统:Ubuntu16.04显卡:GeForce 920MX 显卡驱动:nvidia-375
版本:cuda8.0.61+cudnn:6.0+anaconda3-4.4.0+tensorflow_gpu1.30
安装步骤:
1、安装显卡驱动
显卡驱动版本:nvidia-375
(离线版下载地址:http://www.nvidia.com/Download/index.aspx?lang=en-us)
$ sudo add-apt-repositoryppa:graphics-drivers/ppa
$ sudo apt update
$ sudo apt install nvidia-375
测试:$ nvidia-smi,显示驱动信息,证明安装成功。
2、安装cuda
cuda版本:8.0.61
a) 进入nvidia官网:https://developer.nvidia.com/cuda-downloads,依次选择
Linux -> x86_64 -> Ubuntu -> 16.04-> runfile (local),点击下载run文件。
b) 将run文件放到~/Downloads文件夹下,同时点击ctrl+alt+f1三个键,进入terminal界面,然后依次输入账户密码登录。
c) 切换到~/Downloads文件下,安装cuda8.0.61,终端输入:
sudo sh cuda8.0.61*(文件名)_linux.run
d) 安装过程中,用户协议可以ctrl+c跳过,注意驱动安装选择no,其余选yes或默认路径,如出现问题,则将lightdm关闭后重试:$ sudo service lightdm stop
e) 完成后按ctrl+alt+f7回到图形界面,如已关闭lightdm则重新启动:
$ sudo service lightdm restart
f) 将下面两行cuda路径加入~/.bashrc,并更新环境变量。
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
$ source ~/.bashrc
测试:$ nvcc -V,显示cuda版本信息
3、安装深度学习库cudnn
cudnn版本:6.0
下载地址:https://developer.nvidia.com/rdp/cudnn-download
a) 将下载好的cudnn6.0的文件放到~/.Downloads文件下进行解压:
$ tar zxvf cudnn*(文件名).tar.gz
b) 拷贝文件:
4、安装TensorFlow_GPU
TensorFlow版本:tensorflow_gpu1.3.0(支持gpu加速)
使用pyenv进行安装,便与后期管理python的版本。
a) 安装pyenv
~$: curl -Lhttps://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer| bash
(需要安装curl:$ sudo apt install curl)
b) 安装pyenv后需要如下语句加入环境配置文件 ~\.bashrc
exportPATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init-)"
加入后更新环境变量$:source ~/.bashrc
c) 安装anaconda3-4.4.0
重启termimal,使用pyenv安装anaconda ,当前推荐3-4.4.0版本
$: pyenv install anaconda3-4.4.0
问题:
(1).导致出现 **ubuntu use python ** 版本问题,可能是本地用户环境下安装Anaconda需要卸载:(~$: sudo rm -rf Anocanda* ,然后,在~/.bashrc中将本地anaconda的路径删除)
(2).网络问题造成安装不成功。
e) 安装后切换到anaconda环境下,$: pyenv global anaconda3-4.4.0
(回到系统默认环境下,pyenv global system)
测试:
(1)使用conda命令查看所有的库: $conda list;
(2)打开jupyter notebook: $ jupyter notebook。若打不开出现:
“**Version'GLIBCXX_3.4.21' not found (required by/usr/lib/firefox/firefox)”
解决:conda install libgcc
f) 安装tensorflow_gpu1.3.0
(官方教程:https://www.tensorflow.org/install/)
$: pipinstall --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.3.0-cp36-cp36m-linux_x86_64.whl
测试:
(1) 使用conda查看包中是否有tensorflow_gpu1.3.0 :~$ condalist
(2)若存在则进入python环境,测试导入包是否成功。
~$: python
>>> import tensorflow as tf
若不存在问题则证明安装成功。
(或者,去pypi网站下载离线包whl,然后 pip install 离线包.whl。
tensorflow-gpu 1.3.0-1.4.1 需要cuda8.0 ,cudnn6;
tensorflow-gpu1.5.0及以上需要cuda9.0+)
(http://pytorch.org)
GPU版本:~$: conda install pytorch torchvision cuda80 -c soumith
测试:
~$: python
>>> import torch
>>> print(torch.cuda.is_available())
结果:返回TRUE表示pytorch 支持gpu加速。
(参考:http://www.jianshu.com/p/5ae644748f21)
----------------------------------------------------------------------------------------------------------------------------------
使用基于cuda8.0的GPU加速
1、删除cpu版
pip uninstall mxnet
2、使用豆瓣源安装gpu版
pip install --pre mxnet-cu80 -i https://pypi.douban.com/simple # CUDA 8.0
参考:http://zh.gluon.ai/chapter_crashcourse/install.html
----------------------------------------------------------------------------------------------------------------------------------
(问题:在jupyter notebook下无法使用,不使用以下安装方式)
前提条件:已经安装配置好 cudu8.0+cudnn6.0(完成tensorflow的安装)
1、安装依赖
$: sudo apt-get install -y build-essential git libblas-dev libopencv-dev
$: sudo apt-get install libatlas-base-dev
2、下载mxnet
本地用户主目录(/home/lxh)下,~$:git clone –recursive https://github.com/dmlc/mxnet.git
3、编译
a) 进入mxnet目录,把该目录下面的make/config.mk文件复制到mxnet/目录下面
$: cd mxnet
$: cp ./make/config.mk .
b) 修改文件,在mxnet/下面把这个config.mk文件打开
$: sudo gedit config.mk
修改文件:
c) 编译
$: make -j4
4、安装
进入python目录下,执行命令安装。
$: cd ./python
$: sudo python setup.py install
5、测试
进入mxnet/example/image-classification/目录中,利用mnist例子进行测试:
a) CPU模式下:
$: python train_mnist.py --network mlp
结果:
b) GPU模式下:
$: python train_mnist.py --network mlp --gpus 0
结果:
对比发现CPU所用时间2.403,而GPU所有时间1.383,使用GPU时间更快一些。
(参考:https://blog.csdn.net/xierhacker/article/details/53409663)
前提条件:已经安装配置好 cudu8.0+cudnn6.0(完成tensorflow的安装)
1、安装依赖包
$: 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 libopenblas-dev liblapack-dev libatlas-base-dev
$: sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
$: sudo apt-get install git cmake build-essential
2、安装opencv3.4.1
(注:参考文章中安装的为opencv3.1,由于3.1下载速度较慢,故使用3.4.1)
a) 下载opencv3.4
进入官网 : http://opencv.org/releases.html , 选择 3.4.1 版本的 sources , 下载 opencv-3.1.0.zip,在用户主目录(/home/lxh)下解压。
b) 编译
进入opencv解压后的目录下
$: cd opencv-3.4.1/
$: mkdir build # 创建编译的文件目录
$: cd build
$: cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
$: sudo make -j8 #编译
c) 安装
$: sudo make install
3、安装caffe
a) 下载caffe源码
进入主目录,git下载源码;或者直接下载caffe-master.zip, 解压重命名为caffe。
$: cd ~
$: git clone https://github.com/BVLC/caffe.git
b) 配置文件
目标:需要修改三个配置文件A、B、C
$: cd caffe
$: sudo cp Makefile.config.example Makefile.config
A.修改配置文件一:./caffe/Makefile.config
$: sudo gedit Makefile.config
(1)应用 cudnn
将
#USE_CUDNN := 1
修改成:
USE_CUDNN := 1
(2)应用opencv版本
将
#OPENCV_VERSION := 3
修改为:
OPENCV_VERSION := 3
(3)使用python接口
将
#WITH_PYTHON_LAYER := 1
修改为
WITH_PYTHON_LAYER := 1
(4)修改python路径
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
B.修改配置文件二:./caffe/Makefile
$: sudo gedit Makefile
(1)将:
NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
替换为:
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
(2)将:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
改为:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
C.修改配置文件三:/usr/local/cuda/include/host_config.h
将
#error-- unsupported GNU version! gcc versions later than 5.0 are not supported!
改为
//#error-- unsupported GNU version! gcc versions later than 5.0 are not supported!
c) 编译
$: make all -j8
d) 测试
$: sudo make runtest -j8
当显示下图时,说明安装成功。
问题:
出现以下错误提示:
build_release/tools/caffe: error while loading shared libraries: libcudart.so.8.0: cannot open shared object file: No such file or directory
解决:将anaconda可库文件加入到环境变量。
$:sudo gedit ~/.bashrc
在文件的最后添加以下三行:
# add library path
LD_LIBRARY_PATH=/home/mark/.pyenv/versions/anaconda3-4.4.0/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
(注意:/home/mark/.pyenv/versions/anaconda3-4.4.0/lib,替换为自己anaconda实际路径)
(参考:http://www.cnblogs.com/platero/p/3993877.html,文中2014-12-03更新 的红色部分)
e) 测试python
$: python
>>> import caffe
若导入不出现错误,说明Python可以使用caffe。
(caffe安装参考:
https://blog.csdn.net/yhaolpz/article/details/71375762
https://www.linuxidc.com/Linux/2016-12/138870p2.htm
)
pip install --pre mxnet-cu80 -i https://pypi.douban.com/simple # CUDA 8.0