一定要将我血泪经验记录在此,同时也给大家避雷!
先简单说下我的配置(本身有驱动)
CUDA分为两种,驱动API和运行API,驱动API指的是指的显卡驱动支持的最高cuda版本,如上图的cuda 12.2版本我们运行程序时用的是运行API。
我最终配置的是cuda11.8+cudnn8.6+tensorflow2.13.1
实操步骤:
1.先去查看python,cuda,cudnn,tensorflow之间版本的对应关系,确定好要安装的版本。
2. 安装cuda和cudnn的过程我全程参考的这里,很详细。但是安装过程中有几个问题:
1)下载cudnn的时候,我一开始选择的是8.7,后来安装时发现没有tensorflow2.14版本,我又把cudnn卸载后安装的cudnn8.6.
卸载步骤写一下:
查看安装的cudnn语句
sudo dpkg -l | grep cudnn
卸载语句:
sudo dpkg -r libcudnn8-samples
sudo dpkg -r libcudnn8-dev
sudo dpkg -r libcudnn8
如果
sudo dpkg -l | grep cudnn下有cudnn-local-repo-ubuntu2204-8.6.0.163,卸载时要用purge语句:
sudo apt-get purge cudnn-local-repo-ubuntu2204-8.6.0.163
2)下载了.deb文件,然后一直找不到要粘贴的include和lib文件夹
后来直接下载的.tar文件,安装步骤见这里。
3)安装tensorflow直接在虚拟环境中pip install tensorflow==2.13.0就可以了,tensorflow2.0之后安装的时候就不分-gpu了。
这个could not find TensorRT的解决办法是安装一个tensorrt库,然后先import tensorrt再import tensorflow就可以了:
还需要注意的最后一点是,测试tensorflow是否是gpu版本时!跟torch的测试方法不一样,我直接上来就用tf.cuda.is_available():
结果一直报错,我就觉得是我的cuda和cudnn没弄好,一直反复的装卸。其实是测试的语句错了,正确的应该是
tf.test.is_gpu_available()
ok,写到这里,祝大家安装顺利~