主要参考官方文档
CUDA及cudnn安装参考http://www.jb51.cc/article/p-pzogxbdi-qr.html博客
系统Ubuntu 14.04
显卡为1080ti
步骤:
1.首先安装CUDA8.0
首先准备安装包,由于deb会存在各种问题,建议采用run模式安装
这里需要两个文件
CUDA8.0: cuda_8.0.61_375.26_linux.run(1.5G,chrome下载可能会出现没下完就中断的情况= =)下载地址:https://developer.nvidia.com/cuda-downloads
显卡驱动:NVIDIA-Linux-x86_64-381.22.run
1.1安装依赖
安装编译工具:$sudoapt-get install build-essential # basic requirement
$sudo apt-get install cmake git
$sudo apt-get update #updatesource
安装依赖项: $sudo apt-getinstall libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-devprotobuf-compiler
$sudo apt-get install --no-install-recommendslibboost-all-dev
$sudo apt-get install libopenblas-devliblapack-dev libatlas-base-dev
$sudo apt-get install libgflags-devlibgoogle-glog-dev liblmdb-dev
$sudo apt-get install python-numpy python-scipypython-matplotlib
1.2禁用nouveau驱动(未执行)
ALT+CTRL+F1,进命令行;
$sudo service lightdm stop
$sudo apt-get --purge remove nvidia-*
新建黑名单,禁止系统自带驱动:$sudo vi/etc/modprobe.d/blacklist-nouveau.conf
输入: blacklist nouveau
options nouveau modset=0
保存推出(:wq)
然后执行:$sudoupdate-initramfs –u #更新内核
执行 $lspci | grep nouveau,查看是否有内容,没有说明禁用成功,如果有内容,就$sudo reboot
重启:$sudo reboot
重启后,在登录界面,不要登录进桌面,直接ALT+CTRL+F1进命令行
1.3安装cuda8.0
进入cuda_8.0.61_375.26_linux.run所在目录
执行:
$sudo chmod +x cuda_8.0.61_375.26_linux.run
$sudo ./ cuda_8.0.61_375.26_linux.run
按q键退出RELU文档,按照如下选择,显卡驱动一定要选n,不装
其他都默认yes
最后,配置环境变量,直接放在系统配置文件profile里面:
$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
保存退出.
执行:$sudo ldconfig
1.4 显卡驱动安装
进入显卡驱动目录
$sudo ./ NVIDIA-Linux-x86_64-381.22.run
一路按照提示选择安装(全yes),主要有接受协议,在系统内核注册,用新路径注册,更新X-server,安装完成后会自动回到命令行
最后会出现一个kernel的错误,但是应该不影响
需要重启启动驱动
重启电脑:$sudo reboot
1.6检查是否安装成功
$nvcc –version
查看CUDA ,应该显示8.0,如果没有添加path会显示系统之前的版本
$nvidia-smi 查看驱动信息
在根目录下会出现NVIDIA_CUDA-8.0_Samples,打开终端,进入该目录:
$sudo make –j8 #编译samples,我电脑8线程,全开编译
等待2分钟左右,编译完成,执行下条指令:
$sudo ./1_Utilities/deviceQuery/deviceQuery
出现提示显卡驱动版本等信息的内容,表示安装成功
1.6 Atlas安装
sudo apt-get install libatlas-base-dev
1.7cuDNN安装
准备安装文件,cudnn的安装就是将include和lib文件拷贝到系统的cuda路径里
cudnn-8.0-linux-x64-v5.1.tgz
进入安装文件所在目录
$tar -zxvf cudnn-8.0-linux-x64-v5.1.tgz
$cd cuda
$sudo cp lib64/lib* /usr/local/cuda/lib64/
$sudo cp include/cudnn.h/usr/local/cuda/include/
更新软连接,这里最好ls一下lib64的内容,防止版本不一致:
$cd /usr/local/cuda/lib64/
$sudo chmod +r libcudnn.so.5.1.10
$sudo ln -sf libcudnn.so.5.1.10 libcudnn.so.5
$sudo ln -sf libcudnn.so.5 libcudnn.so
更新设置:
$sudo ldconfig
Tensorflow需要CUDA_HOME 变量
在/etc/profile最后加上exportCUDA_HOME=/usr/local/cuda-8.0
然后 $source /etc/profile
1.8 安装tensorflow
$sudo apt-getinstall libcupti-dev
https://www.tensorflow.org/install/install_linux#InstallingNativePip
采用系统自带的pip安装
$sudo pipinstall tensorflow-gpu
安装完成后
Python
>>>importtensorflow
这个时候出现了error
>>>import tensorflow
Traceback (mostrecent call last):
File "<stdin>",line 1,in<module>
File"/usr/local/lib/python2.7/dist-packages/tensorflow/__init__.py",line24,in <module>
from tensorflow.python import *
File"/usr/local/lib/python2.7/dist-packages/tensorflow/python/__init__.py",line 52,in <module>
from tensorflow.core.framework.graph_pb2import *
File"/usr/local/lib/python2.7/dist-packages/tensorflow/core/framework/graph_pb2.py",line 9,in <module>
from google.protobuf import symbol_databaseas _symbol_database
File"/usr/local/lib/python2.7/dist-packages/google/protobuf/symbol_database.py",line 176,in <module>
_DEFAULT =SymbolDatabase(pool=descriptor_pool.Default())
AttributeError:'module' object has no attribute 'Default'
发现是protobuf版本的问题
执行: $sudo pip install--upgrade protobuf
更新后就可以了