Skip to content

Latest commit

 

History

History
106 lines (53 loc) · 4.01 KB

环境配置问题.md

File metadata and controls

106 lines (53 loc) · 4.01 KB

Ignoring invalid distribution -XX

-后面会指示有问题的包,去env/Lib/site-packages下面找到前面带有~的包删掉。

TensorFlow-gpu

参考官方指南,首先查看支持 CUDA® 的 GPU 卡列表。

win系统可以去设备管理器 > 显示适配器中查看显卡。因为我的电脑支持CUDA® ,所以这里按照支持的流程来进行。

Driver & CUDA & cuDNN

首先安装以下NVIDIA® 软件

  • NVIDIA® GPU 驱动程序,注意区分GRD(Game Ready Driver)和SD(Studio Driver),ML和图形学用后者好一些的样子。笔记本电脑去找带notebook或者laptop记号的。

    ![image-20230712180738133](D:\CS\Machine Learning\环境配置问题.assets\image-20230712180738133.png)

    ![image-20230712182646865](D:\CS\Machine Learning\环境配置问题.assets\image-20230712182646865.png)

  • CUDA® 工具包,TensorFlow支持CUDA® 11.2,但是CUDA 11.5才开始支持win 11,总之先装一个最新版试试(因为上面装的驱动版本是536.40,12.2.0要求536.25),应该是向后兼容的

    CUDA的包很大,耐心安装即可。

    ![image-20230712181819240](D:\CS\Machine Learning\环境配置问题.assets\image-20230712181819240.png)

    安装完cuda后,从控制台键入nvcc --version就可以检查到cuda了

    ![image-20230712185843628](D:\CS\Machine Learning\环境配置问题.assets\image-20230712185843628.png)

  • CUDA® 工具包附带的 CUPTI

  • cuDNN SDK ,参考 cuDNN 版本找到对应CUDA版本的cuDNN,比如我上面装的12.2.0,这里只能选择v8.9.2

    下载cuDNN需要登录NVIDIA账户

    ![image-20230712182734290](D:\CS\Machine Learning\环境配置问题.assets\image-20230712182734290.png)

    下载好后是个压缩包,需要解压并复制到cuda文件夹。如果是默认安装的话,找一下安装路径(环境变量里也可以看到),将解压后的文件直接拖入CUDA文件夹即可(相当于打了个补丁)

如果没有 cuDNN64_8.dll 文件,TensorFlow 将无法加载,这个文件是cuDNN的lib里的。

安装之后,控制台cd到安装目录/extras/demosuite,运行bandwidthTest.exe

![image-20230712191433900](D:\CS\Machine Learning\环境配置问题.assets\image-20230712191433900.png)

deviceQuery.exe

![image-20230712191615963](D:\CS\Machine Learning\环境配置问题.assets\image-20230712191615963.png)

都正常应该就没事了。

验证

首先pip install tensorflow,高版本tf的不需要单独加-gpu后缀,具体来说,1.15之前的版本CPU和GPU包是分开的,后面的不用考虑这个问题。

根据CUDA的安装位置,调整环境变量(默认应该都有,主要检查下有没有CUDA_PATH以及PATH下是否有CUDA的bin目录就行)。

验证tf能不能找到GPU

import tensorflow as tf
print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU')))

找不到,去论坛转了一圈,发现

![image-20230712212344560](D:\CS\Machine Learning\环境配置问题.assets\image-20230712212344560.png)

解决方案

首先将tensorflow版本退回到2.10,拉一个新的虚拟环境

pip install tensorflow<2.11

确定没法读到GPU后,删除CUDA和cuDNN(好在放在同个路径了),重新安装CUDA11.8cuDNN for CUDA 11.x v8.9.2,保险起见驱动也重装一次,版本不用改。

再次测试

>>> import tensorflow as tf
>>> print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU')))
Num GPUs Available:  1
>>> tf.config.list_physical_devices('GPU')
[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]

OK,这次能读到了。

为什么选择11.8呢,因为后面可能要装PyTorch

![image-20230712211723418](D:\CS\Machine Learning\环境配置问题.assets\image-20230712211723418.png)