ubuntu20.04配置TensorFlow-GPU版本+对应版本的cuda&cudnn

ubuntu20.04配置TensorFlow-GPU版本+对应版本的cuda&cudnn

配置说明

操作系统是Ubuntu20.04,GPU是NVIDIA GeForce RTX 2080 Ti,Python版本是3.6.2,CUDA10.0 , cuDNN v7.4.2, tensorflow_gpu-1.14.0。

安装流程

首先,我在服务器中之前安装过别的版本的cuda,为了避免版本混乱,需要卸载:

找到原cuda安装目录,找到cuda-9.0/bin/uninstall_cuda_9.0.pl,运行./uninstall_cuda_9.0.pl,删除残留:rm -rf cuda-9.0,同样的也删除cudnn的残留文件。

之后,进入正式安装环节:

安装cuda10.0

我们下载cuda(下载网址),安装在自己的用户目录下。

#右键获取下载链接,下载:
wget https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_410.48_linux
#赋权限:
 chmod +x cuda_10.0.130_410.48_linux
#安装:
./cuda_10.0.130_410.48_linux --override

会冒出协议,按Enter键下滑至100%,输入accept,不安装驱动,安装位置改为自己设置的位置,例如我这是/data/users/usrname/software/cuda-10.0,其他的选项随便选择。usrname是服务器中自己的home文件夹。

安装对应的cudnn

下载cudnn7.4.2 for cuda10.0,官网需要注册,使用迅雷先下载到自己的电脑上,再上传服务器中。

#解压
tar zxvf cudnn-10.0-linux-x64-v7.4.2.24.tgz
#进入解压后的文件夹中,将cudnn复制到cuda的对应文件夹
cp -r ./* /data/users/usrname/software/cuda-10.0/
#或者
cp cuda/lib64/* /data/users/usrname/software/cuda-10.0/lib64/
cp cuda/include/* /data/users/usrname/software/cuda-10.0/include/
#查看cudnn版本信息
cat /data/users/usrname/software/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

配置环境变量

#在用户路径下的.bashrc文件中添加环境变量
vim ~/.bashrc
#输入i,插入以下三句话
export CUDA_HOME=/data/users/usrname/software/cuda-10.0
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_HOME/lib64
#点击ESC,输入:wq保存
#执行
source ~/.bashrc
#使环境变量生效

#查看cuda版本
nvcc -V

安装tensorflow

#创建新的python环境
conda create -n tfgpu114 python=3.6

#激活
conda activate tfgpu114



#升级pip
pip install --upgrade pip

#安装setuptools
pip install -U setuptools

#安装TensorFlow-GPU
pip install tensorflow-gpu==1.14.0

参考

https://blog.csdn.net/weixin_43922901/article/details/90715779

https://blog.csdn.net/wf19930209/article/details/81879514

https://blog.csdn.net/kingfoulin/article/details/98872965?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param

https://blog.csdn.net/zsc201825/article/details/91149550

测试

测试代码1

import tensorflow as tf
with tf.device(/cpu:0):
	a = tf.constant([1.0,2.0,3.0],shape=[3],name=‘a’)
	b = tf.constant([1.0,2.0,3.0],shape=[3],name=‘b’)
with tf.device(/gpu:1):
	c = a+b

测试代码2

import numpy
import tensorflow as tf
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
print(sess.run(c))

如果显示GPU信息,代表已经安装成功。

一些问题

1.could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR问题解决方案

  • 方案1:执行sudo rm -rf ~/.nv/清除缓存或重启电脑(我这个没有用,但有的情况是有用的)

  • 方案2:将以下代码添加到代码文件开头。

    gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.1)
    sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))
    

参考自https://blog.csdn.net/xianqin_ma/article/details/79525519

2.不能在该环境用conda安装sklearn

numpy冲突

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值