网上对于4090显卡的tensorflow gpu的搭建教程较少,其版本匹配又是一个烦人的问题。在此记录本此安装过程,仅供大家参考。
因本人使用的是实验室公用服务器,所以显卡驱动在全过程不涉及更新。
一、安装cuda11.8
1.选择如下配置
此处选用runfile,指令更少,安装更简单
2.分别运行下面三行代码
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
cd /root/Downloads
sudo sh cuda_11.8.0_520.61.05_linux.run
第二行是为了保证sudo sh指令在下载的目录中运行。
3.下键选择continue,回车确定,输入accept
4.安装cudn
避免对nvidia驱动的更改,在Driver处时按空格取消勾选,其余默认,install
安装界面
安装成功界面
5.配置环境
终端运行这行代码,自动打开文本文件
gedit ~/.bashrc
在.bashrc文档最后添加下面两行代码,并保存退出
export PATH=/usr/local/cuda-11.8/bin:${PATH}
export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:${LD_LIBRARY_PATH}
更新激活.bashrc文件
source ~/.bashrc
6.检验cuda安装成功
nvcc --version
以上则表示cuda安装成功
二、安装cudnn
Log in | NVIDIA Developerhttps://developer.nvidia.com/rdp/cudnn-download
1.下载安装包
选择Download cuDNN v8.9.6 (November 1st, 2023), for CUDA 11.x
再点击Local Installer for Ubuntu22.04 x86_64 (Deb)
2.根据官方安装指南操作
Installation Guide - NVIDIA DocsThis cuDNN 8.9.6 Installation Guide provides step-by-step instructions on how to install and check for correct operation of NVIDIA cuDNN on Linux and Microsoft Windows systems.https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html注意:在终端cd /root/Downloads到下载路径后,安装1.1.3安装Zilb依赖;
1.3.2. Debian Local Installation继续安装;
1.3.2安装途中需要修改xxx,例如
sudo dpkg -i cudnn-local-repo-$distro-8.x.x.x_1.0-1_amd64.deb
我们需要根据实际版本修改,此处cudnn安装包为:
修改为:
sudo dpkg -i cudnn-local-repo-$distro-8.9.6.50_1.0-1_amd64.deb
相似地,sudo apt-get install libcudnn8-dev=8.x.x.x-1+cudaX.Y修改为:
sudo apt-get install libcudnn8-dev=8.9.6.50-1+cuda11.8
3.检验cudnn安装成功
根据1.4. Verifying the Install on Linux操作
验证过程中,我卡在了第三步$make clean && make报错
test.c:1:10: fatal error: FreeImage.h: 没有那个文件或目录
1 | #include "FreeImage.h"
| ^~~~~~~~~~~~~
运行sudo apt-get install libfreeimage3 libfreeimage-dev问题解决
三、安装tensorflow-gpu2.4.0
1.创建虚拟环境
在这里因为本人操作的代码常见于低版本的scipy,常年报错cannot import name 'imread' from 'scipy.misc',懒得修改代码,所以选择安装1.2.0版本的scipy,而这要求python>=3.7且python<3.8(conda install scipy==1.2.0时给的提示),因此我们选择了python3.7
python对应3.7(亲试3.7.0/3.7.10都可)
conda create -n tensorflow24 python=3.7
很好,python3.7版本选出来后,这时可以直接安装tensorflow-gpu==2.4.0和scipy==1.2.0了,运行代码,没问题,问题解决。
2.安装tensorflow-gpu
pip install tensorflow-gpu==2.4.0
3.测试tensorflow-gpu安装成功
激活环境
conda activate tensorflow24
运行
pyhon
>>import tensorflow as tf
参考如下,不报错则安装成功
scipy入坑指南!!!
在确认python3.7之前,我用的python3.9做的实验,pip install tensorflow-gpu==2.5.0没问题,但是!!!最无语的来了!!!
pip install scipy==1.2.0开始报错了
ERROR: Could not build wheels for scipy, which is required to install pyproject.toml-based projects
去百度也没说的所以然,大家都说版本问题,但也没人提啥版本才行啊。。。
在一番尝试后,发现tensorflow2.5及以上要求python>=3.9,而我需要scipy1.2.0,而1.2.0版本的scipy依赖于python3.7及以下,所以,果断舍弃tf2.5及以上的版本,选择tf2.4。
以上均为个人纪录,如有错误,欢迎指出。