CUDA+cuDNN+tensorflow+Keras
大致版本信息如下:CUDA 11.2.2、CUDNN 8.1.1、显卡驱动NVIDIA
文章目录
1. 准备实验环境
操作系统,查看系统版本,我们的操作系统为Centos8;
1.1 查看显卡型号
lshw -c video
这里可以看到显卡型号为Quadro P5000.
1.2 下载显卡驱动
去 https://www.nvidia.com/Download/index.aspx?lang=en-us 或者https://www.nvidia.cn/Download/index.aspx?lang=cn 搜索你的显卡需要的驱动型号并下载。
yum install epel-release #安装epel源
显示如下:
这里升级到最新版本了。我们继续安装 gcc、 kernel-devel 、dkms,详细命令如下:
yum -y install gcc kernel-devel dkms
我们能看到已经安装成功。
1.3 禁用集成显卡驱动nouveau
安装NVIDIA驱动时一定要关闭自带的集成显卡驱动(nouveau)。
vim /usr/lib/modprobe.d/dist-blacklist.conf
输入以下内容:
blacklist nouveau
options nouveau modeset=0
通过shutdown命令重启计算机(加now则是立即重启)
shutdown -r now #重启机器
lsmod | grep nouveau #没有出现任何内容,说明驱动已经禁用。
1.4 安装显卡驱动
./NVIDIA-Linux-x86_64-460.84.run
安装时会出现以下界面:
大致总结下几个问题的回答及选择,如下:
- Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later? 【No】
- Nvidia’s 32-bit compatibility libraries? 【No】
- Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up. 【Yes】
1.4.1 验证是否安装成功
nvidia-smi #查看显卡驱动版本
我们从下图可以看出显卡驱动安装成功啦~~~。
2. 安装 CUDA
根据linux的显卡驱动版本选择对应的CUDA版本。显卡驱动版本NVIDIA-Linux-x86_64 460.84.run,根据https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
找到CUDA的版本号。我们当前的显卡是460.84 ,选择CUDA的驱动CUDA 11.2.2。
选择accept,下一步看到以下图形,
安装结束后信息如下:
添加环境变量(vim ~/.bashrc source ~/.bashrc)
检查 CUDA Toolkit是否安装成功
nvcc -V
会输出CUDA的版本信息
3. 安装 CUDNN
下载地址,选择与CUDA相匹配的版本,我们的CUDA的版本是11.2,所以选择CUDNN V8.1.1 版本。这里需要注册NVIDIA官网,才能下载。
解压后到cuda文件夹。该文件夹下有2个文件夹,分别是include 和lib64文件夹。
将解压后得到的文件夹,分别复制到cuda安装路径下与cuda的bin ,include 和lib文件夹合并。
$ tar -zxvf cudnn-11.2-linux-x64-v8.1.1.33.tgz
$cd cuda
$cp lib64/lib* /usr/local/cuda/lib64/
$cp include/cudnn.h /usr/local/cuda/include/ (错误)
$cp include/cudnn_version.h /usr/local/cuda/include/ (正确)
检验证CUDNN是否安装成功, 检查CUDNN版本,这里的版本是8.1.1。
$cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
4. 安装 tensorflow
下载之前需要查看tensorflow各个版本需要的CUDA版本以及CUDNN的对应关系。
4.1 安装python
Centos8 默认安装的python版本为3.6.8。
4.2 安装pip
yum install python3-pip
安装成功过后,可以查看版本(pip 9.0.3)。
pip升级
python3 -m pip install --upgrade pip
我们可以看到pip从9.0.3版本升级到pip-21.1.2
4.3 安装tensorflow
pip3 install --upgrade --ignore-installed tensorflow
Tensorflow版本查看
pip3 show tensorflow
可以观察到TensorFlow的版本是2.5.0版本。
注:退出终端可以使用exit() 命令
5. 安装keras
pip3 install keras
总结:如果对您有一丢丢的帮助,点个赞吧,谢谢。对您的点滴帮助也是我继续前行的莫大动力和鼓励。有任何问题欢迎留言讨论。
6. 错误集锦
6.1 cudnn.h无反应
cat /usr/local/cuda/include/cudnn.h无反应
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
发现没反应,具体表现为没有返回任何的数据
解决办法参考:https://blog.csdn.net/yxt916/article/details/109475670
7. 参考
1) CUDA和CUDNN的安装
2) CUDA和CUDNN的关系
3) Linux 安装CUDA
4) tensorflow各个版本的CUDA以及Cudnn版本对应关系
5) 显卡驱动安装
6) Linux安装pip
7) TensorFlow和Keras 的关系