前言
为什么会写这样一篇呢,应该早晚会用到paddlelite,所以paddle还是要学的,与其在飞桨平台上跑,不如在自己电脑上跑。我以为安装paddle只需要三行代码:
# 打开Anaconda Prompt
conda create -n paddle python=3.9
conda activate paddle
python -m pip install paddlepaddle-gpu==2.4.0.post116 -f https://www.paddlepaddle.org.cn/whl/windows/mkl/avx/stable.html
然后就可以快乐地荡起飞桨……
实则
1.安装paddle
前两步不变,python版本看你安装的版本。
# 打开Anaconda Prompt
conda create -n paddle python=3.9
conda activate paddle
关于如何选择适合自己版本的paddle,打开cmd命令窗口,输入nvidia-smi,红框中表示你可以适配的最高版本,可以选择11.2,但我个人喜欢最新的,有问题也用最高版本的。
然后进入飞桨官网选择合适版本复制命令安装。
然后执行以下命令,验证是否安装成功:
python
import paddle
paddle.utils.run_check()
如果你安装了CUDA,CUDNN,到这里一般就结束了。我是没安装的那种,但我并不认为我没有安装,因为之前安装过pytorch时,我记得安装了CUDA,跑了深度学习也没问题,所以我就没往这方面想,也不认为是版本的问题,报错如下:
Running verify PaddlePaddle program ...
W1201 16:34:44.189872 20796 gpu_resources.cc:61] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 11.6, Runtime API Version: 11.6
W1201 16:34:44.190871 20796 dynamic_loader.cc:278] Note: [Recommend] copy cudnn into CUDA installation directory.
For instance, download cudnn-10.0-windows10-x64-v7.6.5.32.zip from NVIDIA's official website,
then, unzip it and copy it into C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
You should do this according to your CUDA installation directory and CUDNN version.
…………
PreconditionNotMetError: The third-party dynamic library (cudnn64_8.dll) that Paddle depends on is not configured correctly. (error code is 126)
Suggestions:
1. Check if the third-party dynamic library (e.g. CUDA, CUDNN) is installed correctly and its version is matched with paddlepaddle you installed.
2. Configure third-party dynamic library environment variables as follows:
- Linux: set LD_LIBRARY_PATH by `export LD_LIBRARY_PATH=...`
- Windows: set PATH by `set PATH=XXX; (at ..\paddle\phi\backends\dynload\dynamic_loader.cc:305)
[operator < fill_constant > error]
翻译过来:
正在运行验证飞桨程序。。。
W1201 16:34:44.189872 20796 gpu资源。cc:61]请注意:设备:0,GPU计算能力:8.6,驱动程序API版本:11.6,运行时API版本:11.6
W1201 16:34:44.190771 20796动态加载器。cc:278]注意:[建议]将cunn复制到CUDA安装目录中。
例如,从NVIDIA官网下载cunn-10.0-windows10-x64-v7.6.5.32.zip,
然后,将其解压缩并复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0中
您应该根据CUDA安装目录和CUDNN版本执行此操作。
PreconditionNotMetError:Paddle依赖的第三方动态库(cudnn64_8.dll)未正确配置。(错误代码为126)
建议:
1.检查第三方动态库(如CUDA、CUDNN)是否安装正确,其版本是否与您安装的飞桨相匹配。
2.配置第三方动态库环境变量如下:
-Linux:通过`export LD_LIBRARY_PATH=`
-Windows:通过`set PATH=XXX;(位于..\plade\phi\backends\dynload\dynamic_loader.cc:305)
[运算符<fill_constant>错误]
接下来就是在信息的海洋里遨游的时刻,直到看到这段话,这是我的灯塔:
2.安装CUDA
进入官网选择合适版本下载:
选择自定义全部安装:
配置变量:
安装完成后进行验证,打开cmd命令窗口,输入nvcc -V:
3.安装CUDNN
进入官网,这个需要注册登录,选择合适版本下载,下载的是一个压缩包。
意外之喜:
然后解压该文件,将其复制到CUDA的v11.6文件下,有重复的直接替换。
4.黎明就在眼前
执行以下命令,验证是否可以用paddle:
python
import paddle
paddle.utils.run_check()
报错如下,这个应该就是CUDA和CUDNN某些地方不匹配吧,稳定的话还是选择低版本好。
Could not locate cudnn_ops_infer64_8.dll. Please make sure it is in your lib
解决方法:前往官网如下图所示位置下载一个zlib包,解压缩后找到zlibwapi.dll文件,剪切到C:\Windows\System32
5.破晓
学习照亮我的灯塔也翻译一下:
Running verify PaddlePaddle program ...
W1201 18:57:31.685199 5020 gpu_resources.cc:61] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 11.6, Runtime API Version: 11.6
W1201 18:57:31.688201 5020 gpu_resources.cc:91] device: 0, cuDNN Version: 8.7.
PaddlePaddle works well on 1 GPU.
PaddlePaddle works well on 1 GPUs.
PaddlePaddle is installed successfully! Let's start deep learning with PaddlePaddle now.
正在运行验证飞桨程序。。。
警告...] 请注意:设备:0,GPU计算能力:8.6,驱动程序API版本:11.6,运行时API版本:11.6
警告...] 设备:0,cuDNN版本:8.7。
飞桨在1个GPU上运行良好。
飞桨在1个GPU上运行良好。
飞桨安装成功!现在,让我们开始深入学习飞桨。