conda模式安装paddlepaddle2.4.2版本
一、下载anaconda 2022.10 window-x86-x64.exe
1、下载anaconda 2022.10 window-x86-x64.exe
清华镜像源Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror,进去后根据自己的需要选择对应的版本下载

下载安装到磁盘空闲空间要大的D:\ProgramData\Anaconda3

设置Path

path+=
D:\ProgramData\Anaconda3
D:\ProgramData\Anaconda3\Scripts
D:\ProgramData\Anaconda3\Library\bin
D:\ProgramData\Anaconda3\Library\mingw-w64\bin

查看版本:
conda --version
conda 22.9.0

python
Python 3.9.12 (tags/v3.9.12:b28265d, Mar 23 2022, 23:52:46) [MSC v.1929 64 bit (AMD64)] on win32
Type “help”, “copyright”, “credits” or “license” for more information.

显示环境列表
conda env list

# 查看版本
conda -V
# 更新conda环境
conda update -n base conda
# 更新conda的所有包
conda update --all

创建新环境
conda create -n newEnvName python=3.9.13

创建环境cwgis
conda create -n cwgis  python=3.9.13
conda remove -n cwgis  --all

conda activate base
conda activate cwgis
conda deactivate

D:\ProgramData\Anaconda3
#====================================
自定义指定路径下创建环境F:\condaenv\env_name
conda create --prefix=d:\programdata\conda\cwgis python=3.9.13

激活环境
conda activate  d:\programdata\conda\cwgis 
conda deactivate

移动环境
conda remove -p  d:\programdata\conda\cwgis --all 

测试是否cuda安装成功
nvcc -V   

命令行输入检查该计算机适配的CUDA版本:
nvidia-smi

注意查看cuda或cudnn开发者库有没有安装,其显著特征就是:

有没有路径 C:\Program Files\NVIDIA GPU Computing Toolkit路径

你能不能在电脑里找到l默认安装路径C:\Program Files\NVIDIA GPU Computing Toolkit路径,
或安装到其他路径D:\Program Files\NVIDIA GPU Computing Toolkit路径
而不是只有C:\Program Files\NVIDIA Corporation路径。
如果只有C:\Program Files\NVIDIA Corporation路径,则需要安装cuda和cudnn环境

安装cuda和cudnn环境前:先要安装和升级显卡驱动程序

2、下载CUDA10.2版本
CUDA 的安装(开发者工具包)
cuda下载地址:https://developer.nvidia.com/cuda-toolkit-archive
我选择的是版本10.2版本
cuda_10.2_516.94_windows.exe
我安装到D盘目录:如果没有NVIDIA GPU Computing Toolkit\CUDA\v10.2需自行添加
然后选择下面的地址安装:
D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2

nvcc -V #测试是否安装成功
#===========================
D:\ProgramData\Anaconda3>nvcc -V
nvcc: NVIDIA ® Cuda compiler driver
Copyright © 2005-2022 NVIDIA Corporation
Built on Wed_Jun__8_16:59:34_Pacific_Daylight_Time_2022
Cuda compilation tools, release 10.2, V10.2.99
Build cuda_10.2.r10.2/compiler.31442593_0

D:\ProgramData\Anaconda3>

检查该计算机适配的CUDA版本:

方法一:命令行输入nvidia-smi
#NVIDIA-SMI 536.99 Driver Version: 536.99 CUDA Version: 12.2
0 NVIDIA GeForce GTX 1080 WDDM
GPU Name TCC/WDDM

系统变量中自动添加一个
CUDA_PATH_V10_2=D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2
系统path自动添加:
D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin

3、CUDNN的安装
NVIDIA cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。
NVIDIA cuDNN可以集成到更高级别的机器学习框架中,
如谷歌的Tensorflow、加州大学伯克利分校的流行caffe软件。
简单的插入式设计可以让开发人员专注于设计和实现神经网络模型,
而不是简单调整性能,同时还可以在GPU上实现高性能现代并行计算。
下载地址:
https://developer.nvidia.com/rdp/cudnn-download
https://developer.nvidia.com/rdp/cudnn-download
必须注册后下载cuda10版本 10.X的window版本
cudnn-windows-x86_64-8.9.4.25_cuda10-archive.zip

(就是将解压后得到的的bin ,include 和lib文件夹分别复制到cuda安装路径下与cuda的bin ,include 和lib文件夹合并)
即:

bin copy to  D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin
include copy to  D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\include
lib copy to  D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib

系统path添加下面两项:

D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin
D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\libnvvp

然后重启电脑 系统环境变量生效

二、国内镜像源配置
通过win+R输入cmd进入命令行,通过输入下面命令配置为清华源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/

三、conda模式 安装paddlepaddle-gpu==2.4.2 cuda10.2
conda install paddlepaddle-gpu==2.4.2 cudatoolkit=10.2 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/

conda install paddlepaddle-gpu==2.4.2 cudatoolkit=10.2 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/


有时下面地址下载慢,一般选上面命令行安装
conda install paddlepaddle-gpu==2.4.2 cudatoolkit=10.2 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/ -c conda-forge

四、vscode测试

# 查看 paddle能够调用 gpu
import paddle
paddle.fluid.is_compiled_with_cuda()
paddle.utils.run_check()


'''
特别注意:
在vscode中使用创建的虚拟环境
选择python的解释器:在vscode中按住快捷键Ctrl+shift+P,输入Python然后执行如下图:
Python:Select Interpreter
select D:\ProgramData\Anaconda3\python.exe
'''

测试结果: 安装成功

PS E:\project\python> & D:/ProgramData/Anaconda3/python.exe e:/project/python/gpu-install.py
Running verify PaddlePaddle program ...
W0731 20:45:35.723439  3984 gpu_resources.cc:61] Please NOTE: device: 0, GPU Compute Capability: 6.1, Driver API Version: 12.2, Runtime API Version: 10.2
W0731 20:45:35.740528  3984 gpu_resources.cc:91] device: 0, cuDNN Version: 7.6.
PaddlePaddle works well on 1 GPU.
PaddlePaddle works well on 1 GPUs.
PaddlePaddle is installed successfully! Let's start deep learning with PaddlePaddle now.

五、用GPU测试手写数字识别模型情况
结论:GPU执行训练时间从702秒变成69秒,从11分钟变成1分钟

GPU测试结果:运行时间Cost time: 69.26997494697571
本次预测的数字是: 0

原CPU测试结果:#运行时间Cost time: 702.2813944816589
本次预测的数字是: 0

# 使用SGD优化器,learning_rate设置为0.01时loss下降明显最优   #cost time=705.9078650474548=11.75分钟
    #opt = paddle.optimizer.SGD(learning_rate=0.01, parameters=model.parameters())     #运行时间cost time: 705.9078650474548
    #opt = paddle.optimizer.SGD(learning_rate=0.001, parameters=model.parameters())    #运行时间Cost time: 705.5072021484375
    #opt = paddle.optimizer.SGD(learning_rate=0.0001, parameters=model.parameters())    #运行时间Cost time: 708.7056725025177
    #opt = paddle.optimizer.Momentum(learning_rate=0.01, momentum=0.9, parameters=model.parameters())   #运行时间Cost time: 707.7317929267883
    #opt = paddle.optimizer.Adagrad(learning_rate=0.01, parameters=model.parameters())    #运行时间Cost time: 756.807531118393
    opt = paddle.optimizer.Adam(learning_rate=0.01, parameters=model.parameters())        #运行时间Cost time: 702.2813944816589
PS E:\project\python> & D:/ProgramData/Anaconda3/python.exe e:/project/python/MNIST_Good.py
9.2.0
2.4.2
视觉相关数据集: ['DatasetFolder', 'ImageFolder', 'MNIST', 'FashionMNIST', 'Flowers', 'Cifar10', 'Cifar100', 'VOC2012']
自然语言相关数据集: []
数据处理方法: ['BaseTransform', 'Compose', 'Resize', 'RandomResizedCrop', 'CenterCrop', 'RandomHorizontalFlip', 'RandomVerticalFlip', 'Transpose', 'Normalize', 'BrightnessTransform', 'SaturationTransform', 'ContrastTransform', 'HueTransform', 'ColorJitter', 'RandomCrop', 'Pad', 'RandomAffine', 'RandomRotation', 'RandomPerspective', 'Grayscale', 'ToTensor', 'RandomErasing', 'to_tensor', 'hflip', 'vflip', 'resize', 'pad', 'affine', 'rotate', 'perspective', 'to_grayscale', 'crop', 'center_crop', 'adjust_brightness', 'adjust_contrast', 'adjust_hue', 'normalize', 'erase']
训练数据集数量: 60000
第一个图片为 (28, 28) [5]
W0731 20:48:01.011943 20788 gpu_resources.cc:61] Please NOTE: device: 0, GPU Compute Capability: 6.1, Driver API Version: 12.2, Runtime API Version: 10.2
W0731 20:48:01.021474 20788 gpu_resources.cc:91] device: 0, cuDNN Version: 7.6.
loading mnist dataset from ./work/mnist.json.gz ......
mnist dataset load done
训练数据集数量:  50000
epoch: 0, batch: 0, loss is: 2.6393485069274902
epoch: 0, batch: 200, loss is: 0.03634800389409065
epoch: 0, batch: 400, loss is: 0.06814056634902954
epoch: 1, batch: 0, loss is: 0.028553010895848274
epoch: 1, batch: 200, loss is: 0.044877491891384125
epoch: 1, batch: 400, loss is: 0.021085500717163086
epoch: 2, batch: 0, loss is: 0.09579199552536011
epoch: 2, batch: 200, loss is: 0.040042776614427567
epoch: 2, batch: 400, loss is: 0.04694807901978493
epoch: 3, batch: 0, loss is: 0.039875153452157974
epoch: 3, batch: 200, loss is: 0.012882424518465996
epoch: 3, batch: 400, loss is: 0.013728930614888668
epoch: 4, batch: 0, loss is: 0.004363641142845154
epoch: 8, batch: 0, loss is: 0.005882401950657368
epoch: 8, batch: 200, loss is: 0.06317561864852905
epoch: 8, batch: 400, loss is: 0.05743202567100525
epoch: 9, batch: 0, loss is: 0.014044929295778275
epoch: 9, batch: 200, loss is: 0.032656021416187286
epoch: 9, batch: 400, loss is: 0.002203206531703472
运行时间Cost time: 69.26997494697571
e:\project\python\MNIST_Good.py:247: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead.
  im = im.resize((28, 28), Image.LANCZOS)
本次预测的数字是:  0
PS E:\project\python>

—the—end—

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐