飞桨 GPU 训练

飞桨

飞桨官网:https://www.paddlepaddle.org.cn/

官网介绍

今天的机器越来越“聪明”,正是源于 深度学习 的出现,作为最有影响的人工智能关键共性技术,其在 图像分类、语音识别 等方面展现出了强大实力。

这么神奇的功能,实现 起来一定很复杂吧?

的确如此!只不过…

现在可以借助 开源深度学习平台 的能力去解决啦!

  • 开发者在开源深度学习平台上面,像搭积木一样构建自己的 AI 应用,极大地降低了研发门槛,提升了效率。

在这里插入图片描述

  • 飞桨是 百度研发 的一款 技术领先,功能完备的产业级 深度学习 开源 开放平台。

在这里插入图片描述

  • 集深度学习核心框架、基础模型库、端到端开发套件、工具组件和服务平台为一体,助力产业智能化,致力于让深度学习的创新与应用更简单
    在这里插入图片描述
  • 这些都基于飞桨的四大领先技术:

在这里插入图片描述

  • 飞桨助力开发者快速实现 AI 想法,快速上线 AI 业务。帮助越来越多的行业 完成 AI 赋能,实现产业智能化升级
  • 随着飞桨 赋能行业 进程的加快,小到智能桃子分拣机、零件质检,大到城市规划、病虫害监视、无人驾驶、预防性医疗保健等,

在这里插入图片描述

  • 飞桨已在工业、农业、服务业、零售、通讯、地产、医疗、互联网等众多行业中实现落地应用。

在这里插入图片描述

使用流程

在这里插入图片描述
在这里插入图片描述

paddle —— 飞桨的深度学习核心框架

深度学习平台的 Paddle 是由百度开发的一个 开源深度学习框架

  • 它支持动态图和静态图两种模式,
  • 提供了丰富的算法模型库、端到端开发套件和工具组件,
  • 还具有超大规模并行深度学习能力。

本地 padddlepaddle 的安装和卸载

注意 !!!
在飞桨平台创建项目时会自动安装好相应版本的 paddlepaddle,这是 本地要自己手动安装 的教程。

详见:飞桨快速安装

安装

在这里插入图片描述

要安装最新稳定版本 paddlepaddle,可以直接如下命令:

# CPU:
# pip install paddlepaddle

# GPU:
pip install paddlepaddle-gpu

查看当前安装的版本

查看当前安装的 PaddlePaddle 版本:

import paddle
print(paddle.__version__)

卸载

在这里插入图片描述

启动 GPU 训练

在 paddle 上用 GPU 训练,需要

  • 先安装 GPU 版本的 paddlepaddle;
  • 然后在代码中指定使用 GPU 设备,比如 paddle.device.set_device('gpu:0')

指定 GPU

使用 paddledeviceget_device()set_device() 来获取和设置 GPU。

import paddle
print(paddle.device.get_device())

在这里插入图片描述

paddle.device.set_device('gpu:0') 
print(paddle.device.get_device())

注意!!!如果出现了以下错误,

ValueError: The device should not be 'gpu', since PaddlePaddle is not compiled with CUDA

此时,看一下 Cuda 版本。
在这里插入图片描述

错误的原因:

  • 这个错误提示是指在使用 PaddlePaddle 进行深度学习任务时,指定了 GPU 在线性层上的计算,但是 PaddlePaddle 没有编译 CUDA,因此无法使用 GPU 进行计算。如果 没有在 PaddlePaddle 中启用 GPU 计算,并且尝试在使用 GPU 时进行训练或推断操作,就会导致出现这个错误。
  • 安装的 paddlepaddle 是 CPU 版本的,不支持 GPU 训练。

解决方法:

  • 需要先卸载 CPU 版本的 paddlepaddle
  • 然后安装 GPU 版本的 paddlepaddle
  • 安装成功后,你就可以用 paddle.device.set_device(‘gpu’) 来指定使用 GPU 了(如果是在本地,必须有 GPU;如果在飞桨创建项目,必须要用 GPU 算力资源)。

飞桨创建项目

以下创建一个 pyhon3.7PaddlePaddle 2.4.0 版本的环境,使用的是 0.5点/小时 的算力资源:

在这里插入图片描述
在这里插入图片描述

  • nvcc 是 NVIDIA CUDA 编译器,它是 NVIDIA 公司提供的用于 GPU 并行计算的编译器。
  • 在使用 CUDA 进行 GPU 编程时,需要使用 nvcc 对 CUDA 代码进行编译,以生成可以在 GPU 上运行的二进制可执行文件。

PaddlePaddle 2.1.2 下的对比

以下通过在 pyhon3.7PaddlePaddle 2.1.2 版本的环境下,对比不同的算力资源,看一下区别。

  1. 以下是创建了一个 pyhon3.7PaddlePaddle 2.1.2 版本的环境,使用的是 基础版 CPU (未使用 GPU)的算力资源:

在这里插入图片描述

  1. 以下是创建了一个 pyhon3.7PaddlePaddle 2.1.2 版本的环境,使用的是 0.5点/小时 的算力资源:

在这里插入图片描述

  1. 以下是创建了一个 pyhon3.7PaddlePaddle 2.1.2 版本的环境,使用的是 1.0点/小时 的算力资源:

在这里插入图片描述

修改为 paddlepaddle2.4.0

现在,把 paddlepaddle2.1.2 改成 paddlepaddle2.4.0 再来看看区别。

在这里插入图片描述
这是同一个项目,仅仅修改了 PaddlePaddle 框架版本,使用 0.5点/小时 的算力资源进入环境。

在这里插入图片描述

注意到这里新增了一句输出:Build cuda_11.2.r11.2/compiler.29618528_0

  • 这段文字描述了正在构建的 CUDA 工具包版本号,cuda_11.2.r11.2/compiler.29618528_0
  • cuda_11.2.r11.2 表示 CUDA 工具包的版本号,其中 11.2 代表主版本号,r11.2 代表次版本号,compiler.29618528_0 则表示构建的编译器版本。
  • 安装适当版本的 CUDA 工具包非常重要,可以确保代码与所运行的计算机上的 CUDA 版本兼容,并且可以获得最佳的性能和功能。

CUDA

CUDA(Compute Unified Device Architecture)是 NVIDIA 公司开发的用于进行并行计算的平台和编程模型。CUDA 平台基于 GPU(Graphics Processing Unit,图形处理器),利用 GPU 强大的并行计算能力来加速计算密集型应用程序,包括科学计算、机器学习、深度学习、计算机视觉、自然语言处理等领域。

CUDA 平台提供了一系列软硬件工具,帮助开发人员使用 C/C++、Python 等编程语言编写 GPU 加速的应用程序。它的 核心部分是 CUDA Toolkit,其中包含了 CUDA 编译器、标准数学库、调试器和性能分析器等工具,可以帮助开发人员构建高效的并行应用程序。

CUDA 特别适合具有大规模数据并行性质的应用,例如矩阵乘法、卷积神经网络(CNN)、循环神经网络(RNN)等。由于 GPU 具有高度并行处理能力和内存带宽,相对于传统的 CPU 计算,使用 CUDA 可以显著提高这些应用程序的性能,缩短运行时间,为科学和工程计算等领域提供了重要的支持。

猜你喜欢

转载自blog.csdn.net/xiaoyuting999/article/details/130749533