ubuntu下安装cuda10.0和cudnn升级tensorflow

摘要:

本文主要记录cuda,cudnn安装过程。

1.通过建立软连接,可以在多个版本里切换cuda版本

2.更新tensorflow版本,遇到Numpy版本低,又更新Numpy

3.更新显卡驱动


1.cuda10下载

官网链接https://developer.nvidia.com/cuda-10.0-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=runfilelocal

2.下载完成后,去文件所在文件夹,执行命令

sudo sh cuda_10.0.130_410.48_linux.run

建立软链接

sudo ln -s /usr/local/cuda-10.0 /usr/local/cuda

编辑配置文件

vim ~/.bashrc
#按I切换到插入模式,输入以下

#added by leng
#added for cuda
#这是错误版本,看下面正确滴
#export PATH=$PATH:/usr/local/cuda/bin
#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
#export CUDA_HOME=$CUDA_HOME:/usr/local/cuda


#更新,以上写法有问题,提示找不到libcupti.so.10.0,改为一下写法才正确,所以上面的属性文件是错的啦

export PATH="$PATH:/usr/local/cuda/bin"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME="$CUDA_HOME:/usr/local/cuda"

#按Esc退出插入模式,回到普通模式,按:键输入命令,输入wq保存退出

source ~/.bashrc  #更新配置文件

注意:在配置文件里配置好cuda的路径后,如果需要在cuda9.0和cuda10.0之间切换,只需要删除原来指向/usr/local/cuda的软链接,建立一个新的软链接即可,不需要再改配置文件。

3.下载cudnn,选择cuda10.0对应的版本即可,我选择的是7.6

4.将下载好的cuDNN压缩包解压,得到一个名为cuda的文件夹

#先将cudnn解压后cuda中的文件拷贝到 /usr/local/cuda下

$sudo cp cuda/include/*.h /usr/local/cuda/include/
$sudo cp cuda/lib64/lib* /usr/local/cuda/lib64/

#创建软链接

$cd /usr/local/cuda/lib64/
$sudo rm -rf libcudnn.so libcudnn.so.7
$sudo ln -s libcudnn.so.7.6.0 libcudnn.so.7
$sudo ln -s libcudnn.so.7 libcudnn.so

$sudo ldconfig

5.查看cuda和cudnn版本

$ cat /usr/local/cuda/version.txt
CUDA Version 10.0.130
$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 6
#define CUDNN_PATCHLEVEL 0
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

#include "driver_types.h"
$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130


6.这个时候cuda10.0,cudnn7.6,更新tensorflow到新版本

#激活虚拟环境
$ source activate name

#更新tensorflow
#$pip install tensorflow-gpu(好像不行滴)
$ pip install --upgrade tensorflow-gpu

#安装完成后查看版本
$ python
$ import tensorflow as tf




7.结果这一步import tensorflow失败,原因是numpy版本低 ,到numpy所在位置删除Numpy相关文件,再更新numpy

#numpy文件所在文件夹路径
/home/XX/anaconda3/envs/XX/lib/python3.6/site-packages/

#手动删除Numpy相关文件

#更新numpy
pip install --upgrade numpy

#这样就没有问题啦,查看tensorflow版本
$ python
>>> import tensorflow as tf
>>> print(tf.__version__)
1.14.0


8.下面训练搞起来,train.py,结果。。。报错显示显卡驱动与cuda不匹配。意思就是之前的cuda9.0装的显卡驱动版本太低,装了cuda10.0需要更新驱动。。下面更新驱动。。。

#关闭X server
#按住ctrl+alt+F1,进入命令行模式
$ sudo /etc/init.d/lightdm stop


#运行cuda10.0的安装包
#选择安装driver,opencl,x
$ sudo sh cuda_10.0.130_410.48_linux.run

#安装失败,查看失败文件
#错误:WARNING: One or more modprobe configuration files to disable Nouveau are

         already present at:

         /etc/modprobe.d/nvidia-installer-disable-nouveau.conf.  Please be

         sure you have rebooted your system since these files were written.

         If you have rebooted, then Nouveau may be enabled for other

         reasons, such as being included in the system initial ramdisk or

         in your X configuration file.  Please consult the NVIDIA driver

         README and your Linux distribution's documentation for details on

         how to correctly disable the Nouveau kernel driver.
Note if you later wish to reenable Nouveau, you will need to delete

these files: /etc/modprobe.d/nvidia-installer-disable-nouveau.conf
#找到这个报错文件,删除。再来一遍安装,成功

#退出Xserver
$ sudo /etc/init.d/lightdm restart

查看更新后的驱动版本

nvidia-smi

至此,结束,可以正常训练啦~

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值