最近在运行一些 semantic segmentation 的代码,好多都是GPU版本的,自己就安装一下,记录一下,开始错了好多次,最后参考了一些文章,发现这个版本问题很重要,我用的是一下版本cuda9.0+cudann7.0+tensorlow-gpu==1.7,希望对后来者有帮助。我参考的教程如下:
ubuntu16.04 + tensorflow1.5-gpu + cuda9.0 +cudnn
导入tensorflow:ImportError: libcublas.so.9.0: cannot open shared object file: No such file or director
查看 CUDA和cuDNN版本 查看Nvidia
CUDA和cuDNN卸载更新
这是我下载的对应版本的安装包,可以从云盘直接下载:
[安装包百度云分享] 链接:https://pan.baidu.com/s/1eDVLkoUaQ6pLM8a0KiWs0w
提取码:15yv
安装有什么问题,可以留言交流
主要分为以下步骤:
1.禁用nouveau
2.删除原来nvidia版本,安装新的nvidia版本
3.卸载原来的cuda ,安装cuda9.0
4.卸载原来的cudann,安装cudann7.0.5
5.安装tensorflow 1.7.0
1.禁用nouveau
首先运行以下代码,看是否有输出。
lsmod | grep nouveau
如果终端中有输出,则证明该驱动正在运行,需要手动禁掉nouveau,如果有运行下面命令
sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
在文本中加入以下代码:
blacklist nouveau
options nouveau modeset=0
执行下面语句进行更新
sudo update-initramfs -u
再执行下面语句查看nouveau禁用结果,没有信息输出说明禁用成功,仍有信息输出,重启即可。
lsmod | grep nouveau
2.删除原来nvidia版本,安装新的nvidia版本
执行一下删除命令
sudo apt-get remove –purge nvidia
安装新的NVIDIA驱动,我安装的是384
sudo apt-get install nvidia-384
输入以下代码看是否安装成功
nvidia-smi
显示以上显卡信息,则安装成功,否则重启,再执行以上代码看是否成功。
3.安装cuda
这里如果安装有错误版本的话,需要先卸载错误版本,版本一定要对应。
执行以下命令进入cuda安装文件夹,如果安装的是9.0,安装的其他版本号9.0改成其他的:
cd /usr/local/cuda-9.0/bin
执行一下命令卸载cuda
sudo ./uninstall_cuda_9.0.pl
sudo rm -rf /usr/local/cuda-9.0
cuda官网下载对应的版本这里
我下载的是.run版本的,如下
进入下载.run的文件夹,执行以下命令
sudo sh cuda_9.0.176_384.81_linux.run
然后就出来安装过程,一直按enter到100%
然后输入:
accept
n(这个不安装显卡驱动前面已经安装了)
y
y
y
一直到最后安装完成,配置环境变量
sudo gedit ~/.bashrc
在文件中写入以下环境变量:
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
保存后执行以下命令立即生效:
source ~/.bashrc
执行以下命令查看cuda安装版本:
nvcc -V
显示如下:
说明安装成功版本号为9.0
4.安装cudann
安装错误版本的话,先卸载错误版本的cudann,执行以下命令:
sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*
然后去官网下载cudann,记住一定版本对应,我下载的7.0,记住不要高于7.1,我也试了7.1也不行,最好7.0的
这里官网下载cudann,但是需要自己注册一个账号,不想注册账号的我把cuda9.0,对应的cudann放到了我的百度云盘中可以直接下载。
先进入下载的那个文件夹解压下载文件,然后执行一下代码安装cudann
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
然后检查cudann安装版本,执行以下命令:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
我的是7.0.5版本的
5.安装tensorflow 1.7.0(不要安装太高版本的不然容易出现错误)
首先卸载原来安装的CPU版本的,执行以下代码;
执行一下代码安装tensorflow,如果以前安装过tensorflow ,可以先卸载掉原来的CPU版本。
sudo pip uninstall tensorflow
卸载完就可以安装gpu版本的了,执行以下代码;
sudo pip install tensorflow-gpu==1.7.0
等待安装成功后,输入一下代码,验证是否成功。
python
import tensorflow as tf