centos7安装CUDA11.2+CUDNN8.1+tensorflow2.4

环境:

系统:centos7

CPU:Intel(R) Xeon(R) Gold 5220 CPU @ 2.20GHz 36核

GPU:Tesla V100*4

查看CPU信息:cat /proc/cpuinfo

查看GPU信息:nvidia-smi

一、安装CUDA11.2

参照该博客

附:TensorFlow/cuda版本对照:

官方文档版本对照链接

centos7安装CUDA11.2+CUDNN8.1+tensorflow2.4_第1张图片

二、安装TensorFlow2.4

pip install tensorflow-gpu==2.4

安装验证:

import tensorflow as tf

tf.test.is_gpu_available()

此时返回

centos7安装CUDA11.2+CUDNN8.1+tensorflow2.4_第2张图片

发现无法启动GPU

三、解决找不到libcusolver.so.10的问题

cd /usr/local/cuda/lib64  # 进入库文件夹
ls -al 
mv libcusolver.so.11 libcusolver.so.10

即可解决

四、安装CUDNN

从该链接下载安装文件

虽然我们的系统是centos,但是要下载Linux通用版本,不要下载centos RPM版

centos7安装CUDA11.2+CUDNN8.1+tensorflow2.4_第3张图片

下载完成后 tar -zxvf 将文件解压,然后执行下列代码

(根据自己安装的目录适当改动)
# 复制cudnn头文件
sudo cp cuda/include/* /usr/local/cuda/include/
# 复制cudnn的库
sudo cp cuda/lib64/* /usr/local/cuda/lib64/
# 添加可执行权限
sudo chmod +x /usr/local/cuda/include/cudnn.h
sudo chmod +x /usr/local/cuda/lib64/libcudnn*

再验证tensorflow 2.4,GPU服务启动成功

跑了以前基于TensorFlow1.14的代码、以及bert4keras的代码,均可以正常运行

五、TensorFlow GPU设置

5.1 使用CPU或指定单GPU

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "-1"  # 不添加该变量默认使用GPU,-1使用cpu,其他数值使用指定GPU

5.2 使用多GPU

import tensorflow as tf
strategy = tf.distribute.MirroredStrategy()

print('Number of devices: {}'.format(strategy.num_replicas_in_sync))
with strategy.scope():
    model=create_model()
    model.compile()

经验证,在同一数据集上对bert进行fine tune,使用CPU、单GPU、4GPU的训练时间分别为:

36核CPU 2219 单GPU 273s 4GPU 547s

4GPU用的时间比单GPU还长,可能是有些参数设置不对,研究后再来更新

 

你可能感兴趣的:(深度学习,tensorflow,linux,centos,cuda)