环境信息:
- 系统 ubuntu16.04
- GPU GTX1060 6G
安装程序:
- cuda9.2:链接: https://pan.baidu.com/s/1XwnBzyMEgj9YcN5kh4neNg 提取码: dpws
- cuda9.0:链接: https://pan.baidu.com/s/1CLpSFBRsupOVsSavCktvKA 提取码: jdea
- cudnn7.0 for cuda9.0:链接: https://pan.baidu.com/s/17YAW2Ed0TOWCBudeo1Kenw 提取码: tqrr
因为想使用tensorflow,安装的cuda版本和cudnn版本必须是指定的,如下图所示(Linux 参考链接):
版本: | CPU/GPU: | Python 版本: | 编译器: | 构建工具: | cuDNN: | CUDA: |
---|---|---|---|---|---|---|
tensorflow-1.8.0 | CPU | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.10.0 | 无 | 无 |
tensorflow_gpu-1.8.0 | GPU | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.9.0 | 7 | 9 |
tensorflow-1.7.0 | CPU | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.10.0 | 无 | 无 |
tensorflow_gpu-1.7.0 | GPU | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.9.0 | 7 | 9 |
tensorflow-1.6.0 | CPU | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.9.0 | 无 | 无 |
tensorflow_gpu-1.6.0 | GPU | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.9.0 | 7 | 9 |
tensorflow-1.5.0 | CPU | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.8.0 | 无 | 无 |
tensorflow_gpu-1.5.0 | GPU | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.8.0 | 7 | 9 |
tensorflow-1.4.0 | CPU | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.5.4 | 无 | 无 |
tensorflow_gpu-1.4.0 | GPU | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.5.4 | 6 | 8 |
tensorflow-1.3.0 | CPU | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.5 | 无 | 无 |
tensorflow_gpu-1.3.0 | GPU | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.5 | 6 | 8 |
tensorflow-1.2.0 | CPU | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.5 | 无 | 无 |
tensorflow_gpu-1.2.0 | GPU | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.5 | 5.1 | 8 |
tensorflow-1.1.0 | CPU | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.2 | 无 | 无 |
tensorflow_gpu-1.1.0 | GPU | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.2 | 5.1 | 8 |
tensorflow-1.0.0 | CPU | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.2 | 无 | 无 |
tensorflow_gpu-1.0.0 | GPU | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.2 | 5.1 | 8 |
卸载cuda9.2
我之前装了cuda9.2,所以必须回退9.0的版本 ,卸载9.2的方法如下:
sudo service lightdm stop #关闭图形界面
然后ctrl+Alt+F1,输入账号,密码登入
cd /usr/local/cuda-9.2/bin
sudo ./uninstall_cua_9.2.pl
然后切换到cuda-9.2文件夹父目录,删除该文件夹:
sudo rm -rf cuda9.2
安装cuda9.0
之后需要安装9.0,方法如下:
cd Dowload/ #切换到安装文件所在的目录
sudo sh cuda_9.0.176_384.81_linux.run --no-opengl-libs
开始安装,注意第二个要选no,因为现在的驱动比cuda9.0自带的驱动要新,没必要装9.0的驱动:
Do you accept the previously read EULA?
accept/decline/quit:accept
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 387.26?
(y)es/(n)o/(q)uit: n
Install the CUDA 9.0 Toolkit?
(y)es/(n)o/(q)uit: y
Enter Toolkit Location
[ default is /usr/local/cuda-9.0 ]:
直接按enter
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y
Install the CUDA 9.0 Samples?
(y)es/(n)o/(q)uit: y
安装完成,配置环境变量,编辑/etc/profile :
sudo gedit /etc/profile
在这个文件的最后添加两行:
export PATH=/usr/local/cuda-9.0/bin/:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64/
然后执行这个文件:
source /etc/profile
安装cudnn7.0
完成后开始安装cudnn7.0:
下载完cudnn7.0之后解压可以得到两个文件夹和一个txt:
将他们复制到指定文件夹中
cd cuda/include/ #进入图中的include文件夹
sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件
cd ../lib64 #进入图中的lib64
sudo cp lib* /usr/local/cuda/lib64/ #复制库文件
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn* #给所有用户增加这些文件的读权限
之后建立软连接:
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.7
sudo ln -s libcudnn.so.7.0.3 libcudnn.so.7
sudo ln -s libcudnn.so.7 libcudnn.so
添加环境变量:
sudo gedit /etc/profile
将之前的添加的两行改成
export PATH=/usr/local/cuda/bin/:$PATH
执行配置:
source /etc/profile
然后创建链接文件
sudo gedit /etc/ld.so.conf.d/cuda.conf
在文件中增加:
/usr/local/cuda/lib64
之后执行配置:
sudo ldconfig
安装tensorflow-gpu
首先利用conda创建一个tf环境:
conda create -n tensorflow python=3.6
如果出现“conda 未找到命令”的错误 可以参考这里
然后就会显示Proceed([y]/n)? 这里输入y,然后就开始下载,下载完以后键入:
source activate tensorflow
在用pip安装tf之前先更新一下pip源,可以参考这里 注意要在激活tensorflow环境的情况下修改pip源.
然后一键安装:
pip install tensorflow-gpu
测试tensorflow是否使用gpu
先激活tf环境
python #命令行下输入进入python shell
>>>import tensorflow as tf
>>>sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
查看日志信息若包含gpu信息,就是使用了gpu。
参考:https://blog.csdn.net/pursuit_zhangyu/article/details/79362128