From 2b5ad18b4bb0ce91dc495c0533438541a72db1ed Mon Sep 17 00:00:00 2001 From: TCChenlong <1300851984@qq.com> Date: Thu, 11 Nov 2021 12:07:06 +0800 Subject: [PATCH 1/5] update docs --- .../paddle/{ => linalg}/matrix_power_cn.rst | 10 +- .../basic_concept/amp_cn.ipynb | 463 ++++++++++++++ .../basic_concept/amp_cn.md | 581 +++++++++++++----- .../basic_concept/amp_en.ipynb | 453 ++++++++++++++ .../basic_concept/amp_en.md | 562 ++++++++++++----- .../basic_concept/autograd_cn.rst | 4 +- .../basic_concept/gradient_clip_cn.rst | 2 + .../basic_concept/gradient_clip_en.rst | 2 + .../basic_concept/tensor_introduction_cn.md | 5 +- .../basic_concept/tensor_introduction_en.md | 5 +- ...model.rst => load_old_format_model_cn.rst} | 0 .../migration_cn.rst | 2 +- .../01_paddle2.0_introduction/update_cn.md | 4 +- .../05_train_eval_predict_cn.rst | 112 +--- .../guides/performance_improving/index_cn.rst | 7 +- docs/release_note_cn.md | 101 ++- docs/release_note_en.md | 96 ++- 17 files changed, 1958 insertions(+), 451 deletions(-) rename docs/api/paddle/{ => linalg}/matrix_power_cn.rst (86%) create mode 100644 docs/guides/01_paddle2.0_introduction/basic_concept/amp_cn.ipynb create mode 100644 docs/guides/01_paddle2.0_introduction/basic_concept/amp_en.ipynb rename docs/guides/01_paddle2.0_introduction/{load_old_format_model.rst => load_old_format_model_cn.rst} (100%) diff --git a/docs/api/paddle/matrix_power_cn.rst b/docs/api/paddle/linalg/matrix_power_cn.rst similarity index 86% rename from docs/api/paddle/matrix_power_cn.rst rename to docs/api/paddle/linalg/matrix_power_cn.rst index 210b41e61c9..c1f771a92f0 100644 --- a/docs/api/paddle/matrix_power_cn.rst +++ b/docs/api/paddle/linalg/matrix_power_cn.rst @@ -3,7 +3,7 @@ matrix_power ------------------------------- -.. py:function:: paddle.matrix_power(x, n, name=None) +.. py:function:: paddle.linalg.matrix_power(x, n, name=None) 计算一个或一批方阵的 ``n`` 次幂。 @@ -41,17 +41,17 @@ matrix_power x = paddle.to_tensor([[1, 2, 3], [1, 4, 9], [1, 8, 27]], dtype='float64') - print(paddle.matrix_power(x, 2)) + print(paddle.linalg.matrix_power(x, 2)) # [[6. , 34. , 102.], # [14. , 90. , 282.], # [36. , 250., 804.]] - print(paddle.matrix_power(x, 0)) + print(paddle.linalg.matrix_power(x, 0)) # [[1., 0., 0.], # [0., 1., 0.], # [0., 0., 1.]] - print(paddle.matrix_power(x, -2)) + print(paddle.linalg.matrix_power(x, -2)) # [[ 12.91666667, -12.75000000, 2.83333333 ], # [-7.66666667 , 8. , -1.83333333 ], - # [ 1.80555556 , -1.91666667 , 0.44444444 ]] \ No newline at end of file + # [ 1.80555556 , -1.91666667 , 0.44444444 ]] diff --git a/docs/guides/01_paddle2.0_introduction/basic_concept/amp_cn.ipynb b/docs/guides/01_paddle2.0_introduction/basic_concept/amp_cn.ipynb new file mode 100644 index 00000000000..e5a5b2106b8 --- /dev/null +++ b/docs/guides/01_paddle2.0_introduction/basic_concept/amp_cn.ipynb @@ -0,0 +1,463 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "# 自动混合精度训练\n", + "\n", + "一般情况下,训练深度学习模型时使用的数据类型为单精度(FP32)。2018年,百度与NVIDIA联合发表论文:[MIXED PRECISION TRAINING](https://arxiv.org/pdf/1710.03740.pdf),提出了混合精度训练的方法。混合精度训练是指在训练过程中,同时使用单精度(FP32)和半精度(FP16),其目的是相较于使用单精度(FP32)训练模型,在保持精度持平的条件下,能够加速训练。本文将介绍如何使用飞桨框架,实现自动混合精度训练。" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "## 一、半精度浮点类型 FP16\n", + "\n", + "首先介绍半精度(FP16)。如图1所示,半精度(FP16)是一种相对较新的浮点类型,在计算机中使用2字节(16位)存储。在IEEE 754-2008标准中,它亦被称作binary16。与计算中常用的单精度(FP32)和双精度(FP64)类型相比,FP16更适于在精度要求不高的场景中使用。\n", + "\n", + "
\n", + " missing\n", + "
图 1. 半精度和单精度数据示意图
\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "## 二、NVIDIA GPU的FP16算力\n", + "在使用相同的超参数下,混合精度训练使用半精度浮点(FP16)和单精度(FP32)浮点即可达到与使用纯单精度训练相同的准确率,并可加速模型的训练速度。这主要得益于英伟达推出的Volta及Turing架构GPU在使用FP16计算时具有如下特点:\n", + "- FP16可降低一半的内存带宽和存储需求,这使得在相同的硬件条件下研究人员可使用更大更复杂的模型以及更大的batch size大小。\n", + "- FP16可以充分利用英伟达Volta及Turing架构GPU提供的Tensor Cores技术。在相同的GPU硬件上,Tensor Cores的FP16计算吞吐量是FP32的8倍。" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "## 三、使用飞桨框架实现自动混合精度\n", + "使用飞桨框架提供的API,``paddle.amp.auto_cast`` 和 ``paddle.amp.decorate`` 和 ``paddle.amp.GradScaler`` 能够实现自动混合精度训练(Automatic Mixed Precision,AMP),即在相关OP的计算中,根据一定的规则,自动选择FP16或FP32计算。飞桨的AMP为用户提供了两种模式:\n", + "- level=’O1‘:采用黑名名单策略的混合精度训练,使用FP16与FP32进行计算的OP列表可见该[文档](https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/amp/Overview_cn.html)。\n", + "- level=’O2‘:纯FP16训练,除用户自定义黑名单中指定的OP和不支持FP16计算的OP之外,全部使用FP16计算。\n", + "\n", + "下面来看一个具体的例子,来了解如果使用飞桨框架实现混合精度训练。" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "### 3.1 辅助函数\n", + "首先定义辅助函数,用来计算训练时间。" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "import time\n", + "\n", + "# 开始时间\n", + "start_time = None\n", + "\n", + "def start_timer():\n", + " # 获取开始时间\n", + " global start_time\n", + " start_time = time.time()\n", + "\n", + "def end_timer_and_print(msg):\n", + " # 打印信息并输出训练时间\n", + " end_time = time.time()\n", + " print(\"\\n\" + msg)\n", + " print(\"共计耗时 = {:.3f} sec\".format(end_time - start_time))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "### 3.2 构建一个简单的网络\n", + "\n", + "构建一个简单的网络,用于对比使用普通方法进行训练与使用混合精度训练的训练速度。该网络由三层 ``Linear`` 组成,其中前两层 ``Linear`` 后接 ``ReLU`` 激活函数。" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "import paddle\n", + "import paddle.nn as nn\n", + "\n", + "class SimpleNet(nn.Layer):\n", + "\n", + " def __init__(self, input_size, output_size):\n", + " \n", + " super(SimpleNet, self).__init__()\n", + " self.linear1 = nn.Linear(input_size, output_size)\n", + " self.relu1 = nn.ReLU()\n", + " self.linear2 = nn.Linear(input_size, output_size)\n", + " self.relu2 = nn.ReLU()\n", + " self.linear3 = nn.Linear(input_size, output_size)\n", + "\n", + " def forward(self, x):\n", + "\n", + " x = self.linear1(x)\n", + " x = self.relu1(x)\n", + " x = self.linear2(x)\n", + " x = self.relu2(x)\n", + " x = self.linear3(x)\n", + "\n", + " return x" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "设置训练的相关参数,这里为了能有效的看出混合精度训练对于训练速度的提升,将 ``input_size`` 与 ``output_size`` 的值设为较大的值,为了使用GPU 提供的``Tensor Core`` 性能,还需将 ``batch_size`` 设置为 8 的倍数。" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "W1110 18:42:02.362493 104 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 10.1, Runtime API Version: 10.1\n", + "W1110 18:42:02.367755 104 device_context.cc:465] device: 0, cuDNN Version: 7.6.\n" + ] + } + ], + "source": [ + "epochs = 5\n", + "input_size = 4096 # 设为较大的值\n", + "output_size = 4096 # 设为较大的值\n", + "batch_size = 512 # batch_size 为8的倍数\n", + "nums_batch = 50\n", + "\n", + "train_data = [paddle.randn((batch_size, input_size)) for _ in range(nums_batch)]\n", + "labels = [paddle.randn((batch_size, output_size)) for _ in range(nums_batch)]\n", + "\n", + "mse = paddle.nn.MSELoss()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "### 3.3 使用默认的训练方式进行训练" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False,\n", + " [1.24519622])\n", + "\n", + "默认耗时:\n", + "共计耗时 = 2.926 sec\n" + ] + } + ], + "source": [ + "model = SimpleNet(input_size, output_size) # 定义模型\n", + "\n", + "optimizer = paddle.optimizer.SGD(learning_rate=0.0001, parameters=model.parameters()) # 定义优化器\n", + "\n", + "start_timer() # 获取训练开始时间\n", + "\n", + "for epoch in range(epochs):\n", + " datas = zip(train_data, labels)\n", + " for i, (data, label) in enumerate(datas):\n", + "\n", + " output = model(data)\n", + " loss = mse(output, label)\n", + "\n", + " # 反向传播\n", + " loss.backward()\n", + "\n", + " # 训练模型\n", + " optimizer.step()\n", + " optimizer.clear_grad()\n", + "\n", + "print(loss)\n", + "end_timer_and_print(\"默认耗时:\") # 获取结束时间并打印相关信息" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "### 3.4 使用AMP训练模型\n", + "\n", + "在飞桨框架中,使用自动混合精度训练,需要进行四个步骤:\n", + "\n", + "- Step1: 定义 ``GradScaler`` ,用于缩放 ``loss`` 比例,避免浮点数下溢\n", + "- Step2: 使用 ``decorate`` 在level=’O1‘模式下不做任何处理,无需调用该api,在level=’O2‘模式下,将网络参数从FP32转换为FP16\n", + "- Step3: 使用 ``auto_cast`` 用于创建AMP上下文环境,该上下文中自动会确定每个OP的输入数据类型(FP16或FP32)\n", + "- Step4: 使用 Step1中定义的 ``GradScaler`` 完成 ``loss`` 的缩放,用缩放后的 ``loss`` 进行反向传播,完成训练\n", + "\n", + "\n", + "采用level=’O1‘模式训练:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False,\n", + " [1.24815702])\n", + "\n", + "使用AMP-O1模式耗时:\n", + "共计耗时 = 1.294 sec\n" + ] + } + ], + "source": [ + "model = SimpleNet(input_size, output_size) # 定义模型\n", + "\n", + "optimizer = paddle.optimizer.SGD(learning_rate=0.0001, parameters=model.parameters()) # 定义优化器\n", + "\n", + "# Step1:定义 GradScaler,用于缩放loss比例,避免浮点数溢出\n", + "scaler = paddle.amp.GradScaler(init_loss_scaling=1024)\n", + "\n", + "start_timer() # 获取训练开始时间\n", + "\n", + "for epoch in range(epochs):\n", + " datas = zip(train_data, labels)\n", + " for i, (data, label) in enumerate(datas):\n", + "\n", + " # Step2:创建AMP上下文环境,开启自动混合精度训练\n", + " with paddle.amp.auto_cast():\n", + " output = model(data)\n", + " loss = mse(output, label)\n", + "\n", + " # Step3:使用 Step1中定义的 GradScaler 完成 loss 的缩放,用缩放后的 loss 进行反向传播\n", + " scaled = scaler.scale(loss)\n", + " scaled.backward()\n", + "\n", + " # 训练模型\n", + " scaler.minimize(optimizer, scaled)\n", + " optimizer.clear_grad()\n", + "\n", + "print(loss)\n", + "end_timer_and_print(\"使用AMP-O1模式耗时:\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "采用level=’O2‘模式训练:" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "in ParamBase copy_to func\n", + "in ParamBase copy_to func\n", + "in ParamBase copy_to func\n", + "in ParamBase copy_to func\n", + "in ParamBase copy_to func\n", + "in ParamBase copy_to func\n", + "Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False,\n", + " [1.25423336])\n", + "\n", + "使用AMP-O2模式耗时:\n", + "共计耗时 = 0.890 sec\n" + ] + } + ], + "source": [ + "model = SimpleNet(input_size, output_size) # 定义模型\n", + "\n", + "optimizer = paddle.optimizer.SGD(learning_rate=0.0001, parameters=model.parameters()) # 定义优化器\n", + "\n", + "# Step1:定义 GradScaler,用于缩放loss比例,避免浮点数溢出\n", + "scaler = paddle.amp.GradScaler(init_loss_scaling=1024)\n", + "\n", + "# Step2:在level=’O2‘模式下,将网络参数从FP32转换为FP16\n", + "model, optimizer = paddle.amp.decorate(models=model, optimizers=optimizer, level='O2', master_weight=None, save_dtype=None)\n", + "\n", + "start_timer() # 获取训练开始时间\n", + "\n", + "for epoch in range(epochs):\n", + " datas = zip(train_data, labels)\n", + " for i, (data, label) in enumerate(datas):\n", + "\n", + " # Step3:创建AMP上下文环境,开启自动混合精度训练\n", + " with paddle.amp.auto_cast(enable=True, custom_white_list=None, custom_black_list=None, level='O2'):\n", + " output = model(data)\n", + " loss = mse(output, label)\n", + "\n", + " # Step4:使用 Step1中定义的 GradScaler 完成 loss 的缩放,用缩放后的 loss 进行反向传播\n", + " scaled = scaler.scale(loss)\n", + " scaled.backward()\n", + "\n", + " # 训练模型\n", + " scaler.minimize(optimizer, scaled)\n", + " optimizer.clear_grad()\n", + "\n", + "print(loss)\n", + "end_timer_and_print(\"使用AMP-O2模式耗时:\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "## 四、进阶用法\n", + "### 4.1 使用梯度累加\n", + "梯度累加是指在模型训练过程中,训练一个batch的数据得到梯度后,不立即用该梯度更新模型参数,而是继续下一个batch数据的训练,得到梯度后继续循环,多次循环后梯度不断累加,直至达到一定次数后,用累加的梯度更新参数,这样可以起到变相扩大 batch_size 的作用。\n", + "\n", + "在自动混合精度训练中,也支持梯度累加,使用方式如下:" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False,\n", + " [1.25602019])\n", + "\n", + "使用AMP模式耗时:\n", + "共计耗时 = 1.026 sec\n" + ] + } + ], + "source": [ + "model = SimpleNet(input_size, output_size) # 定义模型\n", + "\n", + "optimizer = paddle.optimizer.SGD(learning_rate=0.0001, parameters=model.parameters()) # 定义优化器\n", + "\n", + "accumulate_batchs_num = 10 # 梯度累加中 batch 的数量\n", + "\n", + "# 定义 GradScaler\n", + "scaler = paddle.amp.GradScaler(init_loss_scaling=1024)\n", + "\n", + "start_timer() # 获取训练开始时间\n", + "\n", + "for epoch in range(epochs):\n", + " datas = zip(train_data, labels)\n", + " for i, (data, label) in enumerate(datas):\n", + "\n", + " # 创建AMP上下文环境,开启自动混合精度训练\n", + " with paddle.amp.auto_cast():\n", + " output = model(data)\n", + " loss = mse(output, label)\n", + "\n", + " # 使用 GradScaler 完成 loss 的缩放,用缩放后的 loss 进行反向传播\n", + " scaled = scaler.scale(loss)\n", + " scaled.backward()\n", + "\n", + " # 当累计的 batch 为 accumulate_batchs_num 时,更新模型参数\n", + " if (i + 1) % accumulate_batchs_num == 0:\n", + "\n", + " # 训练模型\n", + " scaler.minimize(optimizer, scaled)\n", + " optimizer.clear_grad()\n", + "\n", + "print(loss)\n", + "end_timer_and_print(\"使用AMP模式耗时:\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "## 五、总结\n", + "从上面的示例中可以看出,使用自动混合精度训练,O1模式共计耗时约 1.294s,O2模式共计耗时约 0.890s,而普通的训练方式则耗时 2.926s,O1模式训练速度提升约为 2.1倍,O2模式训练速度提升约为 3.0倍。如需更多使用混合精度训练的示例,请参考飞桨模型库: [paddlepaddle/models](https://github.com/PaddlePaddle/models)。" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "py35-paddle1.2.0" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.4" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/docs/guides/01_paddle2.0_introduction/basic_concept/amp_cn.md b/docs/guides/01_paddle2.0_introduction/basic_concept/amp_cn.md index bc96b6736a4..d22e2d19f7f 100644 --- a/docs/guides/01_paddle2.0_introduction/basic_concept/amp_cn.md +++ b/docs/guides/01_paddle2.0_introduction/basic_concept/amp_cn.md @@ -1,272 +1,515 @@ -# 自动混合精度训练 +```python +import paddle +from paddle.vision.models import vgg11 +import paddle.nn.functional as F +import numpy as np + +print(paddle.__version__) +``` + + 2.2.0 + + -一般情况下,训练深度学习模型时使用的数据类型为单精度(FP32)。2018年,百度与NVIDIA联合发表论文:[MIXED PRECISION TRAINING](https://arxiv.org/pdf/1710.03740.pdf),提出了混合精度训练的方法。混合精度训练是指在训练过程中,同时使用单精度(FP32)和半精度(FP16),其目的是相较于使用单精度(FP32)训练模型,在保持精度持平的条件下,能够加速训练。本文将介绍如何使用飞桨框架,实现自动混合精度训练。 +```python +model = vgg11() -## 一、半精度浮点类型 FP16 +x = paddle.rand([1,3,224,224]) +label = paddle.randint(0,1000) +``` -首先介绍半精度(FP16)。如图1所示,半精度(FP16)是一种相对较新的浮点类型,在计算机中使用2字节(16位)存储。在IEEE 754-2008标准中,它亦被称作binary16。与计算中常用的单精度(FP32)和双精度(FP64)类型相比,FP16更适于在精度要求不高的场景中使用。 + W1111 00:45:40.487871 104 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 10.1, Runtime API Version: 10.1 + W1111 00:45:40.493650 104 device_context.cc:465] device: 0, cuDNN Version: 7.6. -
- missing -
图 1. 半精度和单精度数据示意图
-
-## 二、NVIDIA GPU的FP16算力 -在使用相同的超参数下,混合精度训练使用半精度浮点(FP16)和单精度(FP32)浮点即可达到与使用纯单精度训练相同的准确率,并可加速模型的训练速度。这主要得益于英伟达推出的Volta及Turing架构GPU在使用FP16计算时具有如下特点: -- FP16可降低一半的内存带宽和存储需求,这使得在相同的硬件条件下研究人员可使用更大更复杂的模型以及更大的batch size大小。 -- FP16可以充分利用英伟达Volta及Turing架构GPU提供的Tensor Cores技术。在相同的GPU硬件上,Tensor Cores的FP16计算吞吐量是FP32的8倍。 -## 三、使用飞桨框架实现自动混合精度 -使用飞桨框架提供的API,``paddle.amp.auto_cast`` 和 ``paddle.amp.decorate`` 和 ``paddle.amp.GradScaler`` 能够实现自动混合精度训练(Automatic Mixed Precision,AMP),即在相关OP的计算中,根据一定的规则,自动选择FP16或FP32计算。飞桨的AMP为用户提供了两种模式: -- level=’O1‘:采用黑名名单策略的混合精度训练,使用FP16与FP32进行计算的OP列表可见该[文档](https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/amp/Overview_cn.html)。 -- level=’O2‘:纯FP16训练,除用户自定义黑名单中指定的OP和不支持FP16计算的OP之外,全部使用FP16计算。 +```python +predicts = model(x) +``` -下面来看一个具体的例子,来了解如果使用飞桨框架实现混合精度训练。 -### 3.1 辅助函数 -首先定义辅助函数,用来计算训练时间。 +```python +loss = F.cross_entropy(predicts, label) +``` ```python -import time +loss.backward() +``` + + +```python +optim = paddle.optimizer.Adam(learning_rate=0.001, parameters=model.parameters()) +``` + + +```python +optim.step() +``` + + +```python +import paddle + +a = paddle.to_tensor([1.0, 2.0, 3.0]) +b = paddle.to_tensor([1.0, 2.0, 3.0], stop_gradient=False) # 将b设置为需要计算梯度的属性 +print(a.stop_gradient) +print(b.stop_gradient) +``` + + True + False -# 开始时间 -start_time = None -def start_timer(): - # 获取开始时间 - global start_time - start_time = time.time() -def end_timer_and_print(msg): - # 打印信息并输出训练时间 - end_time = time.time() - print("\n" + msg) - print("共计耗时 = {:.3f} sec".format(end_time - start_time)) +```python +a.stop_gradient = False +print(a.stop_gradient) ``` -### 3.2 构建一个简单的网络 + False -构建一个简单的网络,用于对比使用普通方法进行训练与使用混合精度训练的训练速度。该网络由三层 ``Linear`` 组成,其中前两层 ``Linear`` 后接 ``ReLU`` 激活函数。 ```python import paddle -import paddle.nn as nn -class SimpleNet(nn.Layer): +x = paddle.to_tensor([1.0, 2.0, 3.0], stop_gradient=False) +y = paddle.to_tensor([4.0, 5.0, 6.0], stop_gradient=False) +z = x ** 2 + 4 * y +``` + + +```python +z.backward() +print("Tensor x's grad is: {}".format(x.grad)) +print("Tensor y's grad is: {}".format(y.grad)) +``` + + Tensor x's grad is: Tensor(shape=[3], dtype=float32, place=CUDAPlace(0), stop_gradient=False, + [2., 4., 6.]) + Tensor y's grad is: Tensor(shape=[3], dtype=float32, place=CUDAPlace(0), stop_gradient=False, + [4., 4., 4.]) - def __init__(self, input_size, output_size): - super(SimpleNet, self).__init__() - self.linear1 = nn.Linear(input_size, output_size) - self.relu1 = nn.ReLU() - self.linear2 = nn.Linear(input_size, output_size) - self.relu2 = nn.ReLU() - self.linear3 = nn.Linear(input_size, output_size) - def forward(self, x): - x = self.linear1(x) - x = self.relu1(x) - x = self.linear2(x) - x = self.relu2(x) - x = self.linear3(x) +```python +import paddle - return x +x = paddle.to_tensor([1.0, 2.0, 3.0], stop_gradient=False) +y = x + 3 +y.backward(retain_graph=True) # 设置retain_graph为True,保留反向计算图 +print("Tensor x's grad is: {}".format(x.grad)) ``` -设置训练的相关参数,这里为了能有效的看出混合精度训练对于训练速度的提升,将 ``input_size`` 与 ``output_size`` 的值设为较大的值,为了使用GPU 提供的``Tensor Core`` 性能,还需将 ``batch_size`` 设置为 8 的倍数。 + Tensor x's grad is: Tensor(shape=[3], dtype=float32, place=CUDAPlace(0), stop_gradient=False, + [1., 1., 1.]) + ```python -epochs = 5 -input_size = 4096 # 设为较大的值 -output_size = 4096 # 设为较大的值 -batch_size = 512 # batch_size 为8的倍数 -nums_batch = 50 +import paddle +import numpy as np + +x = np.ones([2, 2], np.float32) +inputs2 = [] -train_data = [paddle.randn((batch_size, input_size)) for _ in range(nums_batch)] -labels = [paddle.randn((batch_size, output_size)) for _ in range(nums_batch)] +for _ in range(10): + tmp = paddle.to_tensor(x) + tmp.stop_gradient = False + inputs2.append(tmp) -mse = paddle.nn.MSELoss() +ret2 = paddle.add_n(inputs2) +loss2 = paddle.sum(ret2) + +loss2.backward() +print("Before clear {}".format(loss2.gradient())) + +loss2.clear_grad() +print("After clear {}".format(loss2.gradient())) ``` -### 3.3 使用默认的训练方式进行训练 + Before clear [1.] + After clear [0.] + ```python -model = SimpleNet(input_size, output_size) # 定义模型 +import paddle + +a = paddle.to_tensor(2.0, stop_gradient=False) +b = paddle.to_tensor(5.0, stop_gradient=True) +c = a * b +c.backward() +print("Tensor a's grad is: {}".format(a.grad)) +print("Tensor b's grad is: {}".format(b.grad)) +``` + + Tensor a's grad is: Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, + [5.]) + Tensor b's grad is: None + + + +```python + +import paddle -optimizer = paddle.optimizer.SGD(learning_rate=0.0001, parameters=model.parameters()) # 定义优化器 +a = paddle.to_tensor(2.0, stop_gradient=False) +b = paddle.to_tensor(5.0, stop_gradient=False) +c = a * b +d = paddle.to_tensor(4.0, stop_gradient=False) +e = c * d +e.backward() +print("Tensor a's grad is: {}".format(a.grad)) +print("Tensor b's grad is: {}".format(b.grad)) +print("Tensor c's grad is: {}".format(c.grad)) +print("Tensor d's grad is: {}".format(d.grad)) +``` -start_timer() # 获取训练开始时间 + Tensor a's grad is: Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, + [20.]) + Tensor b's grad is: Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, + [8.]) + Tensor c's grad is: Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, + [4.]) + Tensor d's grad is: Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, + [10.]) -for epoch in range(epochs): - datas = zip(train_data, labels) - for i, (data, label) in enumerate(datas): - output = model(data) - loss = mse(output, label) - # 反向传播 - loss.backward() +```python +class Model(paddle.nn.Layer): - # 训练模型 - optimizer.step() - optimizer.clear_grad() + def __init__(self): + super(Model, self).__init__() + self.flatten = paddle.nn.Flatten() -print(loss) -end_timer_and_print("默认耗时:") # 获取结束时间并打印相关信息 + def forward(self, inputs): + y = self.flatten(inputs) + return y ``` - Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, - [1.24609220]) - 默认耗时: - 共计耗时 = 2.819 sec +```python +model = Model() +print(model.sublayers()) + +print("----------------------") + +for item in model.named_sublayers(): + print(item) +``` + + [Flatten()] + ---------------------- + ('flatten', Flatten()) -### 3.4 使用AMP训练模型 -在飞桨框架中,使用自动混合精度训练,需要进行四个步骤: +```python +fc = paddle.nn.Linear(10, 3) +model.add_sublayer("fc", fc) +print(model.sublayers()) +``` -- Step1: 定义 ``GradScaler`` ,用于缩放 ``loss`` 比例,避免浮点数下溢 -- Step2: 使用 ``decorate`` 在level=’O1‘模式下不做任何处理,无需调用该api,在level=’O2‘模式下,将网络参数从FP32转换为FP16 -- Step3: 使用 ``auto_cast`` 用于创建AMP上下文环境,该上下文中自动会确定每个OP的输入数据类型(FP16或FP32) -- Step4: 使用 Step1中定义的 ``GradScaler`` 完成 ``loss`` 的缩放,用缩放后的 ``loss`` 进行反向传播,完成训练 + [Flatten(), Linear(in_features=10, out_features=3, dtype=float32)] -采用level=’O1‘模式训练: ```python -model = SimpleNet(input_size, output_size) # 定义模型 +def function(layer): + print(layer) + +model.apply(function) +``` -optimizer = paddle.optimizer.SGD(learning_rate=0.0001, parameters=model.parameters()) # 定义优化器 + Flatten() + Linear(in_features=10, out_features=3, dtype=float32) + Model( + (flatten): Flatten() + (fc): Linear(in_features=10, out_features=3, dtype=float32) + ) -# Step1:定义 GradScaler,用于缩放loss比例,避免浮点数溢出 -scaler = paddle.amp.GradScaler(init_loss_scaling=1024) -start_timer() # 获取训练开始时间 -for epoch in range(epochs): - datas = zip(train_data, labels) - for i, (data, label) in enumerate(datas): - # Step2:创建AMP上下文环境,开启自动混合精度训练 - with paddle.amp.auto_cast(): - output = model(data) - loss = mse(output, label) - # Step3:使用 Step1中定义的 GradScaler 完成 loss 的缩放,用缩放后的 loss 进行反向传播 - scaled = scaler.scale(loss) - scaled.backward() + Model( + (flatten): Flatten() + (fc): Linear(in_features=10, out_features=3, dtype=float32) + ) - # 训练模型 - scaler.minimize(optimizer, scaled) - optimizer.clear_grad() -print(loss) -end_timer_and_print("使用AMP-O1模式耗时:") + + +```python +sublayer_iter = model.children() +for sublayer in sublayer_iter: + print(sublayer) ``` - Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, - [1.24609900]) + Flatten() + Linear(in_features=10, out_features=3, dtype=float32) - 使用AMP-O1模式耗时: - 共计耗时 = 1.324 sec -采用level=’O2‘模式训练: +```python +class Model(paddle.nn.Layer): + + def __init__(self): + super(Model, self).__init__() + img = self.create_parameter([1,3,256,256]) + self.add_parameter("img", img) + self.flatten = paddle.nn.Flatten() + + def forward(self): + y = self.flatten(self.img) + return y +``` + ```python -model = SimpleNet(input_size, output_size) # 定义模型 +model = Model() +model.parameters() +print("----------------------------------------------------------------------------------") +for item in model.named_parameters(): + print(item) +``` -optimizer = paddle.optimizer.SGD(learning_rate=0.0001, parameters=model.parameters()) # 定义优化器 + ---------------------------------------------------------------------------------- + ('img', Parameter containing: + Tensor(shape=[1, 3, 256, 256], dtype=float32, place=CUDAPlace(0), stop_gradient=False, + [[[[ 0.00330893, 0.00146855, -0.00315564, ..., -0.00037254, + -0.00398024, 0.00175103], + [-0.00269739, 0.00015307, 0.00215079, ..., 0.00083044, + 0.00433949, 0.00183416], + [ 0.00124980, 0.00066814, -0.00296695, ..., -0.00166787, + -0.00208646, 0.00066172], + ..., + [ 0.00118238, -0.00020917, -0.00211811, ..., 0.00341913, + 0.00110805, -0.00007380], + [-0.00283090, 0.00450932, -0.00027968, ..., 0.00141592, + 0.00147790, -0.00163899], + [ 0.00473807, 0.00005514, 0.00163972, ..., -0.00105391, + 0.00130420, -0.00455226]], + + [[ 0.00370526, -0.00421996, -0.00161209, ..., 0.00098369, + -0.00364983, 0.00031144], + [ 0.00173886, 0.00339773, 0.00141036, ..., 0.00346697, + 0.00417612, 0.00012173], + [ 0.00120599, 0.00061922, -0.00084213, ..., -0.00172405, + 0.00378877, -0.00097374], + ..., + [-0.00322239, 0.00413360, 0.00473170, ..., 0.00415691, + 0.00108459, -0.00351989], + [-0.00416756, 0.00164984, 0.00244981, ..., 0.00053153, + -0.00464938, 0.00450330], + [-0.00406198, -0.00193215, -0.00431253, ..., -0.00257889, + -0.00165101, -0.00138488]], + + [[ 0.00441089, 0.00360072, 0.00199083, ..., -0.00120336, + 0.00208172, 0.00016561], + [ 0.00456772, -0.00385161, 0.00081078, ..., -0.00298249, + -0.00269728, -0.00413104], + [ 0.00370318, 0.00103516, 0.00258130, ..., -0.00003251, + -0.00032389, -0.00006440], + ..., + [-0.00348314, -0.00025856, -0.00374935, ..., -0.00344840, + 0.00243370, -0.00292505], + [ 0.00477740, 0.00388781, -0.00466578, ..., 0.00121291, + 0.00004315, -0.00295597], + [ 0.00455716, 0.00302863, 0.00055869, ..., 0.00052850, + 0.00218663, 0.00267356]]]])) -# Step1:定义 GradScaler,用于缩放loss比例,避免浮点数溢出 -scaler = paddle.amp.GradScaler(init_loss_scaling=1024) -# Step2:在level=’O2‘模式下,将网络参数从FP32转换为FP16 -model, optimizer = paddle.amp.decorate(models=model, optimizers=optimizer, level='O2', master_weight=None, save_dtype=None) -start_timer() # 获取训练开始时间 +```python +model = Model() +out = model() +out.backward() +model.clear_gradients() +``` + -for epoch in range(epochs): - datas = zip(train_data, labels) - for i, (data, label) in enumerate(datas): +```python +class Model(paddle.nn.Layer): + + def __init__(self): + super(Model, self).__init__() + self.saved_tensor = self.create_tensor(name="saved_tensor0") + self.flatten = paddle.nn.Flatten() + self.fc = paddle.nn.Linear(10, 100) + + def forward(self, input): + y = self.flatten(input) + # Save intermediate tensor + paddle.assign(y, self.saved_tensor) + y = self.fc(y) + return y +``` - # Step3:创建AMP上下文环境,开启自动混合精度训练 - with paddle.amp.auto_cast(enable=True, custom_white_list=None, custom_black_list=None, level='O2'): - output = model(data) - loss = mse(output, label) - # Step4:使用 Step1中定义的 GradScaler 完成 loss 的缩放,用缩放后的 loss 进行反向传播 - scaled = scaler.scale(loss) - scaled.backward() +```python +class Model(paddle.nn.Layer): + + def __init__(self): + super(Model, self).__init__() + saved_tensor = self.create_tensor(name="saved_tensor0") + self.register_buffer("saved_tensor", saved_tensor, persistable=True) + self.flatten = paddle.nn.Flatten() + self.fc = paddle.nn.Linear(10, 100) + + def forward(self, input): + y = self.flatten(input) + # Save intermediate tensor + paddle.assign(y, self.saved_tensor) + y = self.fc(y) + return y +``` - # 训练模型 - scaler.minimize(optimizer, scaled) - optimizer.clear_grad() -print(loss) -end_timer_and_print("使用AMP-O2模式耗时:") +```python +model = Model() +print(model.buffers()) +for item in model.named_buffers():class Model(paddle.nn.Layer): + + def __init__(self): + super(Model, self).__init__() + self.flatten = paddle.nn.Flatten() + + def forward(self, inputs): + y = self.flatten(inputs) + return y + print(item) ``` - Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, - [1.24997652]) - 使用AMP-O2模式耗时: - 共计耗时 = 0.933 sec + File "/tmp/ipykernel_104/851298997.py", line 3 + for item in model.named_buffers():class Model(paddle.nn.Layer): + ^ + SyntaxError: invalid syntax + -## 四、进阶用法 -### 4.1 使用梯度累加 -梯度累加是指在模型训练过程中,训练一个batch的数据得到梯度后,不立即用该梯度更新模型参数,而是继续下一个batch数据的训练,得到梯度后继续循环,多次循环后梯度不断累加,直至达到一定次数后,用累加的梯度更新参数,这样可以起到变相扩大 batch_size 的作用。 -在自动混合精度训练中,也支持梯度累加,使用方式如下: +```python +class Model(paddle.nn.Layer): + + def __init__(self): + super(Model, self).__init__() + self.flatten = paddle.nn.Flatten() + + def forward(self, inputs): + y = self.flatten(inputs) + return y +``` ```python -model = SimpleNet(input_size, output_size) # 定义模型 +x = paddle.randn([10, 1], 'float32') +model = Model() +model.eval() # set model to eval mode +out = model(x) +model.train() # set model to train mode +out = model(x) +``` -optimizer = paddle.optimizer.SGD(learning_rate=0.0001, parameters=model.parameters()) # 定义优化器 -accumulate_batchs_num = 10 # 梯度累加中 batch 的数量 +```python +model = Model() +x = paddle.randn([10, 1], 'float32') +out = model(x) +print(out) +``` -# 定义 GradScaler -scaler = paddle.amp.GradScaler(init_loss_scaling=1024) + Tensor(shape=[10, 1], dtype=float32, place=CUDAPlace(0), stop_gradient=True, + [[-0.12737122], + [-0.57012707], + [-0.70294005], + [ 0.14529558], + [ 0.50616348], + [-0.96126020], + [ 0.51200545], + [ 2.64334464], + [ 1.11839330], + [ 0.61924362]]) -start_timer() # 获取训练开始时间 -for epoch in range(epochs): - datas = zip(train_data, labels) - for i, (data, label) in enumerate(datas): - # 创建AMP上下文环境,开启自动混合精度训练 - with paddle.amp.auto_cast(): - output = model(data) - loss = mse(output, label) +```python +def forward_post_hook(layer, input, output): + return 2*output + +x = paddle.ones([10, 1], 'float32') +model = Model() +forward_post_hook_handle = model.flatten.register_forward_post_hook(forward_post_hook) +out = model(x) +print(out) +``` - # 使用 GradScaler 完成 loss 的缩放,用缩放后的 loss 进行反向传播 - scaled = scaler.scale(loss) - scaled.backward() + Tensor(shape=[10, 1], dtype=float32, place=CUDAPlace(0), stop_gradient=True, + [[2.], + [2.], + [2.], + [2.], + [2.], + [2.], + [2.], + [2.], + [2.], + [2.]]) - # 当累计的 batch 为 accumulate_batchs_num 时,更新模型参数 - if (i + 1) % accumulate_batchs_num == 0: - # 训练模型 - scaler.minimize(optimizer, scaled) - optimizer.clear_grad() -print(loss) -end_timer_and_print("使用AMP模式耗时:") +```python +def forward_pre_hook(layer, input, output): + return 2*output + +x = paddle.ones([10, 1], 'float32') +model = Model() +forward_pre_hook_handle = model.flatten.register_forward_pre_hook(forward_pre_hook) +out = model(x) ``` - Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, - [1.24623466]) - 使用AMP模式耗时: - 共计耗时 = 1.020 sec + --------------------------------------------------------------------------- + + TypeError Traceback (most recent call last) -## 五、总结 -从上面的示例中可以看出,使用自动混合精度训练,O1模式共计耗时约 1.324s,O2模式共计耗时约 0.933s,而普通的训练方式则耗时 2.819s,O1模式训练速度提升约为 2.1倍,O2模式训练速度提升约为 3.0倍。如需更多使用混合精度训练的示例,请参考飞桨模型库: [paddlepaddle/models](https://github.com/PaddlePaddle/models)。 + /tmp/ipykernel_104/1696797913.py in + 5 model = Model() + 6 forward_pre_hook_handle = model.flatten.register_forward_pre_hook(forward_pre_hook) + ----> 7 out = model(x) + + + /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py in __call__(self, *inputs, **kwargs) + 912 self._built = True + 913 + --> 914 outputs = self.forward(*inputs, **kwargs) + 915 + 916 for forward_post_hook in self._forward_post_hooks.values(): + + + /tmp/ipykernel_104/2161125479.py in forward(self, inputs) + 6 + 7 def forward(self, inputs): + ----> 8 y = self.flatten(inputs) + 9 return y + + + /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py in __call__(self, *inputs, **kwargs) + 892 with param_guard(self._parameters), param_guard(self._buffers): + 893 for forward_pre_hook in self._forward_pre_hooks.values(): + --> 894 hook_result = forward_pre_hook(self, inputs) + 895 if hook_result is not None: + 896 if not isinstance(hook_result, tuple): + + + TypeError: forward_pre_hook() missing 1 required positional argument: 'output' + + + +```python + +``` diff --git a/docs/guides/01_paddle2.0_introduction/basic_concept/amp_en.ipynb b/docs/guides/01_paddle2.0_introduction/basic_concept/amp_en.ipynb new file mode 100644 index 00000000000..22c12fcfed1 --- /dev/null +++ b/docs/guides/01_paddle2.0_introduction/basic_concept/amp_en.ipynb @@ -0,0 +1,453 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "# Automatic Mixed Precision Training\n", + "\n", + "In general, the datatype of training deep learning models is single-precision floating-point format(also called FP32). In 2018, Baidu and NVIDIA jointly published the paper: [MIXED PRECISION TRAINING](https://arxiv.org/pdf/1710.03740.pdf), which proposed mixed precision training. During the process of training, some operators use FP32 and other operators use half precision(also called FP16) in the same time. Its purpose is to speed up training, while compared with the FP32 training model, the same accuracy is maintained. This tutorial will introduce how to use automatic mixed precision training with PaddlePaddle." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "## 1. Half Precision (FP16)\n", + "\n", + "First introduce FP16. As shown in Figure 1, FP16 occupies 16 bits (two bytes in modern computers) of computer memory. In the IEEE 754-2008 standard, it is also named binary16. Compared with FP32 and double precision (also called FP64) commonly used, FP16 is more suitable for the usage in scenarios with low precision requirements.\n", + "\n", + "
\n", + " missing\n", + "
Figure 1. Half precision(FP16) and single precision(FP32)
\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "## 2. FP16 Computing Power of NVIDIA GPU\n", + "\n", + "When the same hyperparameters are used, mixed precision training using FP16 and FP32 can achieve the same accuracy as that of pure single precision used, and can accelerate the training speed. It mainly attributes to the features that NVIDIA Volta and NVIDIA Turing use FP16 to calculate:\n", + "- FP16 can reduce memory bandwidth and storage requirements by half, which allows researchers to use more complex models and larger batch sizes under the same hardware conditions.\n", + "- FP16 can make full use of Tensor Cores technology provided by NVIDIA Volta and NVIDIA Turing. On the same GPU hardware, the computing throughput of Tensor Cores' FP16 is 8 times bigger than that of FP32." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "## 3. Automatic Mixed Precision Training with PaddlePaddle\n", + "\n", + "Using PaddlePaddle's API ``paddle.amp.auto_cast`` and ``paddle.amp.GradScaler`` can realize automatic mixed precision training (AMP), which can automatically choose FP16 or FP32 for different operators' calculation. After the AMP mode is turned on, the operator list calculated by FP16 and FP32 can be found in this [document](https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/amp/Overview_cn.html). This is a specific example to understand how to use PaddlePaddle to achieve mixed precision training." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "### 3.1 Auxiliary Function\n", + "First define the auxiliary function to calculate the training time." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "import time\n", + "\n", + "# start time\n", + "start_time = None\n", + "\n", + "def start_timer():\n", + " # get start time\n", + " global start_time\n", + " start_time = time.time()\n", + "\n", + "def end_timer_and_print(msg):\n", + " # print message and total training time\n", + " end_time = time.time()\n", + " print(\"\\n\" + msg)\n", + " print(\"total time = {:.3f} sec\".format(end_time - start_time))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "### 3.2 A Simple Network\n", + "\n", + "Define a simple network to compare the training speed of common methods and mixed precision. The network is composed of three layers of ``Linear``. The first two layers of ``Linear`` are followed by the ``ReLU`` activation function." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "import paddle\n", + "import paddle.nn as nn\n", + "\n", + "class SimpleNet(nn.Layer):\n", + "\n", + " def __init__(self, input_size, output_size):\n", + " \n", + " super(SimpleNet, self).__init__()\n", + " self.linear1 = nn.Linear(input_size, output_size)\n", + " self.relu1 = nn.ReLU()\n", + " self.linear2 = nn.Linear(input_size, output_size)\n", + " self.relu2 = nn.ReLU()\n", + " self.linear3 = nn.Linear(input_size, output_size)\n", + "\n", + " def forward(self, x):\n", + "\n", + " x = self.linear1(x)\n", + " x = self.relu1(x)\n", + " x = self.linear2(x)\n", + " x = self.relu2(x)\n", + " x = self.linear3(x)\n", + "\n", + " return x" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "Set the parameters of training. In order to effectively show the improvement of training speed by mixed precision training, please set the larger values of ``input_size`` and ``output_size``. And in order to use the ``Tensor Core`` provided by GPU, ``batch_size`` needs to be set as a multiple of 8." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "epochs = 5\n", + "input_size = 4096 # set to a larger value\n", + "output_size = 4096 # set to a larger value\n", + "batch_size = 512 # batch_size is a multiple of 8\n", + "nums_batch = 50\n", + "\n", + "train_data = [paddle.randn((batch_size, input_size)) for _ in range(nums_batch)]\n", + "labels = [paddle.randn((batch_size, output_size)) for _ in range(nums_batch)]\n", + "\n", + "mse = paddle.nn.MSELoss()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "### 3.3 Training with Default Method" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False,\n", + " [1.24072289])\n", + "\n", + "Default time:\n", + "total time = 2.935 sec\n" + ] + } + ], + "source": [ + "model = SimpleNet(input_size, output_size) # define model\n", + "\n", + "optimizer = paddle.optimizer.SGD(learning_rate=0.0001, parameters=model.parameters()) # define optimizer\n", + "\n", + "start_timer() # get the start time of training\n", + "\n", + "for epoch in range(epochs):\n", + " datas = zip(train_data, labels)\n", + " for i, (data, label) in enumerate(datas):\n", + "\n", + " output = model(data)\n", + " loss = mse(output, label)\n", + "\n", + " # backpropagation\n", + " loss.backward()\n", + "\n", + " # update parameters\n", + " optimizer.step()\n", + " optimizer.clear_grad()\n", + "\n", + "print(loss)\n", + "end_timer_and_print(\"Default time:\") # print massage and total time" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "### 3.4 Training with AMP\n", + "\n", + "Using automatic mixed precision training with PaddlePaddle requires four steps:\n", + "\n", + "- Step1: Define ``GradScaler``, which is used to scale the ``loss`` to avoid underflow\n", + "- Step2: Use ``decorate``, to do nothing in level='O1' mode without using this api, and in level='O2' mode to convert network parameters from FP32 to FP16\n", + "- Step3: Use ``auto_cast`` to create an AMP context, in which the input datatype(FP16 or FP32) of each oprator will be automatically determined\n", + "- Step4: Use ``GradScaler`` defined in Step1 to complete the scaling of ``loss``, and use the scaled ``loss`` for backpropagation to complete the training\n", + "\n", + "In level=’O1‘ mode:" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False,\n", + " [1.24848151])\n", + "\n", + "AMP time in O1 mode:\n", + "total time = 1.299 sec\n" + ] + } + ], + "source": [ + "model = SimpleNet(input_size, output_size) # define model\n", + "\n", + "optimizer = paddle.optimizer.SGD(learning_rate=0.0001, parameters=model.parameters()) # define optimizer\n", + "\n", + "# Step1:define GradScaler\n", + "scaler = paddle.amp.GradScaler(init_loss_scaling=1024)\n", + "\n", + "start_timer() # get start time\n", + "\n", + "for epoch in range(epochs):\n", + " datas = zip(train_data, labels)\n", + " for i, (data, label) in enumerate(datas):\n", + "\n", + " # Step2:create AMP context environment\n", + " with paddle.amp.auto_cast():\n", + " output = model(data)\n", + " loss = mse(output, label)\n", + "\n", + " # Step3:use GradScaler complete the loss scaling\n", + " scaled = scaler.scale(loss)\n", + " scaled.backward()\n", + "\n", + " # update parameters\n", + " scaler.minimize(optimizer, scaled)\n", + " optimizer.clear_grad()\n", + "\n", + "print(loss)\n", + "end_timer_and_print(\"AMP time in O1 mode:\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "In level='O2' mode:" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "in ParamBase copy_to func\n", + "in ParamBase copy_to func\n", + "in ParamBase copy_to func\n", + "in ParamBase copy_to func\n", + "in ParamBase copy_to func\n", + "in ParamBase copy_to func\n", + "Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False,\n", + " [1.25075114])\n", + "\n", + "AMP time in O2 mode:\n", + "total time = 0.888 sec\n" + ] + } + ], + "source": [ + "model = SimpleNet(input_size, output_size) # define model\n", + "\n", + "optimizer = paddle.optimizer.SGD(learning_rate=0.0001, parameters=model.parameters()) # define optimizer\n", + "\n", + "# Step1:define GradScaler\n", + "scaler = paddle.amp.GradScaler(init_loss_scaling=1024)\n", + "\n", + "# Step2:in level='O2' mode, convert network parameters from FP32 to FP16\n", + "model, optimizer = paddle.amp.decorate(models=model, optimizers=optimizer, level='O2', master_weight=None, save_dtype=None)\n", + "\n", + "start_timer() # get start time\n", + "\n", + "for epoch in range(epochs):\n", + " datas = zip(train_data, labels)\n", + " for i, (data, label) in enumerate(datas):\n", + "\n", + " # Step3:create AMP context environment\n", + " with paddle.amp.auto_cast(enable=True, custom_white_list=None, custom_black_list=None, level='O2'):\n", + " output = model(data)\n", + " loss = mse(output, label)\n", + "\n", + " # Step4:use GradScaler complete the loss scaling\n", + " scaled = scaler.scale(loss)\n", + " scaled.backward()\n", + "\n", + " # update parameters\n", + " scaler.minimize(optimizer, scaled)\n", + " optimizer.clear_grad()\n", + "\n", + "print(loss)\n", + "end_timer_and_print(\"AMP time in O2 mode:\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "## 4. Advanced Usage\n", + "### 4.1 Gradient Accumulation\n", + "\n", + "Gradient accumulation means running a configured number of steps without updating the model variables. Until certain steps, use the accumulated gradients to update the variables.\n", + "\n", + "In automatic mixed precision training, gradient accumulation is also supported, and the usage is as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False,\n", + " [1.25853443])\n", + "\n", + "AMP time:\n", + "total time = 1.034 sec\n" + ] + } + ], + "source": [ + "model = SimpleNet(input_size, output_size) # define model\n", + "\n", + "optimizer = paddle.optimizer.SGD(learning_rate=0.0001, parameters=model.parameters()) # define optimizer\n", + "\n", + "accumulate_batchs_num = 10 # the batch numbers of gradients accumulation\n", + "\n", + "# define GradScaler\n", + "scaler = paddle.amp.GradScaler(init_loss_scaling=1024)\n", + "\n", + "start_timer() # get start time\n", + "\n", + "for epoch in range(epochs):\n", + " datas = zip(train_data, labels)\n", + " for i, (data, label) in enumerate(datas):\n", + "\n", + " # create AMP context environment\n", + " with paddle.amp.auto_cast():\n", + " output = model(data)\n", + " loss = mse(output, label)\n", + "\n", + " # use GradScaler complete the loss scaling\n", + " scaled = scaler.scale(loss)\n", + " scaled.backward()\n", + "\n", + " # when the accumulated batch is accumulate_batchs_num, update the model parameters\n", + " if (i + 1) % accumulate_batchs_num == 0:\n", + "\n", + " # update parameters\n", + " scaler.minimize(optimizer, scaled)\n", + " optimizer.clear_grad()\n", + "\n", + "print(loss)\n", + "end_timer_and_print(\"AMP time:\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "## 5. Conclusion\n", + "\n", + "As can be seen from the above example, using the automatic mixed precision training, in O1 mode the total time is about 1.299s, in O2 mode the total time is about 0.888s, while the ordinary training method takes 2.935s, and the training speed is increased by about 2.4 times in O1 mode and 2.4 times in O2 mode. For more examples of using mixed precision training, please refer to paddlepaddle's models: [paddlepaddle/models](https://github.com/PaddlePaddle/models)." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "py35-paddle1.2.0" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.4" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/docs/guides/01_paddle2.0_introduction/basic_concept/amp_en.md b/docs/guides/01_paddle2.0_introduction/basic_concept/amp_en.md index ee31dc70ba1..d22e2d19f7f 100644 --- a/docs/guides/01_paddle2.0_introduction/basic_concept/amp_en.md +++ b/docs/guides/01_paddle2.0_introduction/basic_concept/amp_en.md @@ -1,227 +1,515 @@ -# Automatic Mixed Precision Training +```python +import paddle +from paddle.vision.models import vgg11 +import paddle.nn.functional as F +import numpy as np + +print(paddle.__version__) +``` -In general, the datatype of training deep learning models is single-precision floating-point format(also called FP32). In 2018, Baidu and NVIDIA jointly published the paper: [MIXED PRECISION TRAINING](https://arxiv.org/pdf/1710.03740.pdf), which proposed mixed precision training. During the process of training, some operators use FP32 and other operators use half precision(also called FP16) in the same time. Its purpose is to speed up training, while compared with the FP32 training model, the same accuracy is maintained. This tutorial will introduce how to use automatic mixed precision training with PaddlePaddle. + 2.2.0 -## 1. Half Precision (FP16) -First introduce FP16. As shown in Figure 1, FP16 occupies 16 bits (two bytes in modern computers) of computer memory. In the IEEE 754-2008 standard, it is also named binary16. Compared with FP32 and double precision (also called FP64) commonly used, FP16 is more suitable for the usage in scenarios with low precision requirements. -
- missing -
Figure 1. Half precision(FP16) and single precision(FP32)
-
+```python +model = vgg11() -## 2. FP16 Computing Power of NVIDIA GPU +x = paddle.rand([1,3,224,224]) +label = paddle.randint(0,1000) +``` -When the same hyperparameters are used, mixed precision training using FP16 and FP32 can achieve the same accuracy as that of pure single precision used, and can accelerate the training speed. It mainly attributes to the features that NVIDIA Volta and NVIDIA Turing use FP16 to calculate: -- FP16 can reduce memory bandwidth and storage requirements by half, which allows researchers to use more complex models and larger batch sizes under the same hardware conditions. -- FP16 can make full use of Tensor Cores technology provided by NVIDIA Volta and NVIDIA Turing. On the same GPU hardware, the computing throughput of Tensor Cores' FP16 is 8 times bigger than that of FP32. + W1111 00:45:40.487871 104 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 10.1, Runtime API Version: 10.1 + W1111 00:45:40.493650 104 device_context.cc:465] device: 0, cuDNN Version: 7.6. -## 3. Automatic Mixed Precision Training with PaddlePaddle -Using PaddlePaddle's API ``paddle.amp.auto_cast`` and ``paddle.amp.GradScaler`` can realize automatic mixed precision training (AMP), which can automatically choose FP16 or FP32 for different operators' calculation. After the AMP mode is turned on, the operator list calculated by FP16 and FP32 can be found in this [document](https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/amp/Overview_cn.html). This is a specific example to understand how to use PaddlePaddle to achieve mixed precision training. -### 3.1 Auxiliary Function -First define the auxiliary function to calculate the training time. +```python +predicts = model(x) +``` ```python -import time +loss = F.cross_entropy(predicts, label) +``` + -# start time -start_time = None +```python +loss.backward() +``` -def start_timer(): - # get start time - global start_time - start_time = time.time() -def end_timer_and_print(msg): - # print message and total training time - end_time = time.time() - print("\n" + msg) - print("total time = {:.3f} sec".format(end_time - start_time)) +```python +optim = paddle.optimizer.Adam(learning_rate=0.001, parameters=model.parameters()) ``` -### 3.2 A Simple Network -Define a simple network to compare the training speed of common methods and mixed precision. The network is composed of three layers of ``Linear``. The first two layers of ``Linear`` are followed by the ``ReLU`` activation function. +```python +optim.step() +``` ```python import paddle -import paddle.nn as nn -class SimpleNet(nn.Layer): +a = paddle.to_tensor([1.0, 2.0, 3.0]) +b = paddle.to_tensor([1.0, 2.0, 3.0], stop_gradient=False) # 将b设置为需要计算梯度的属性 +print(a.stop_gradient) +print(b.stop_gradient) +``` - def __init__(self, input_size, output_size): - super(SimpleNet, self).__init__() - self.linear1 = nn.Linear(input_size, output_size) - self.relu1 = nn.ReLU() - self.linear2 = nn.Linear(input_size, output_size) - self.relu2 = nn.ReLU() - self.linear3 = nn.Linear(input_size, output_size) + True + False - def forward(self, x): - x = self.linear1(x) - x = self.relu1(x) - x = self.linear2(x) - x = self.relu2(x) - x = self.linear3(x) - return x +```python +a.stop_gradient = False +print(a.stop_gradient) ``` -Set the parameters of training. In order to effectively show the improvement of training speed by mixed precision training, please set the larger values of ``input_size`` and ``output_size``. And in order to use the ``Tensor Core`` provided by GPU, ``batch_size`` needs to be set as a multiple of 8. + False + ```python -epochs = 5 -input_size = 4096 # set to a larger value -output_size = 4096 # set to a larger value -batch_size = 512 # batch_size is a multiple of 8 -nums_batch = 50 +import paddle + +x = paddle.to_tensor([1.0, 2.0, 3.0], stop_gradient=False) +y = paddle.to_tensor([4.0, 5.0, 6.0], stop_gradient=False) +z = x ** 2 + 4 * y +``` -train_data = [paddle.randn((batch_size, input_size)) for _ in range(nums_batch)] -labels = [paddle.randn((batch_size, output_size)) for _ in range(nums_batch)] -mse = paddle.nn.MSELoss() +```python +z.backward() +print("Tensor x's grad is: {}".format(x.grad)) +print("Tensor y's grad is: {}".format(y.grad)) ``` -### 3.3 Training with Default Method + Tensor x's grad is: Tensor(shape=[3], dtype=float32, place=CUDAPlace(0), stop_gradient=False, + [2., 4., 6.]) + Tensor y's grad is: Tensor(shape=[3], dtype=float32, place=CUDAPlace(0), stop_gradient=False, + [4., 4., 4.]) + ```python -model = SimpleNet(input_size, output_size) # define model +import paddle -optimizer = paddle.optimizer.SGD(learning_rate=0.0001, parameters=model.parameters()) # define optimizer +x = paddle.to_tensor([1.0, 2.0, 3.0], stop_gradient=False) +y = x + 3 +y.backward(retain_graph=True) # 设置retain_graph为True,保留反向计算图 +print("Tensor x's grad is: {}".format(x.grad)) +``` + + Tensor x's grad is: Tensor(shape=[3], dtype=float32, place=CUDAPlace(0), stop_gradient=False, + [1., 1., 1.]) -start_timer() # get the start time of training -for epoch in range(epochs): - datas = zip(train_data, labels) - for i, (data, label) in enumerate(datas): - output = model(data) - loss = mse(output, label) +```python +import paddle +import numpy as np - # backpropagation - loss.backward() +x = np.ones([2, 2], np.float32) +inputs2 = [] - # update parameters - optimizer.step() - optimizer.clear_grad() +for _ in range(10): + tmp = paddle.to_tensor(x) + tmp.stop_gradient = False + inputs2.append(tmp) -print(loss) -end_timer_and_print("Default time:") # print massage and total time +ret2 = paddle.add_n(inputs2) +loss2 = paddle.sum(ret2) + +loss2.backward() +print("Before clear {}".format(loss2.gradient())) + +loss2.clear_grad() +print("After clear {}".format(loss2.gradient())) ``` - Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, - [1.25010288]) + Before clear [1.] + After clear [0.] - Default time: - total time = 2.943 sec -### 3.4 Training with AMP +```python +import paddle + +a = paddle.to_tensor(2.0, stop_gradient=False) +b = paddle.to_tensor(5.0, stop_gradient=True) +c = a * b +c.backward() +print("Tensor a's grad is: {}".format(a.grad)) +print("Tensor b's grad is: {}".format(b.grad)) +``` -Using automatic mixed precision training with PaddlePaddle requires three steps: + Tensor a's grad is: Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, + [5.]) + Tensor b's grad is: None -- Step1: Define ``GradScaler``, which is used to scale the ``loss`` and ``gradients``to avoid underflow -- Step2: Use ``auto_cast`` to create an AMP context, in which the input datatype(FP16 or FP32) of each oprator will be automatically determined -- Step3: Use ``GradScaler`` defined in Step1 to complete the scaling of ``loss``, and use the scaled ``loss`` for backpropagation to complete the training ```python -model = SimpleNet(input_size, output_size) # define model -optimizer = paddle.optimizer.SGD(learning_rate=0.0001, parameters=model.parameters()) # define optimizer +import paddle -# Step1:define GradScaler -scaler = paddle.amp.GradScaler(init_loss_scaling=1024) +a = paddle.to_tensor(2.0, stop_gradient=False) +b = paddle.to_tensor(5.0, stop_gradient=False) +c = a * b +d = paddle.to_tensor(4.0, stop_gradient=False) +e = c * d +e.backward() +print("Tensor a's grad is: {}".format(a.grad)) +print("Tensor b's grad is: {}".format(b.grad)) +print("Tensor c's grad is: {}".format(c.grad)) +print("Tensor d's grad is: {}".format(d.grad)) +``` -start_timer() # get start time + Tensor a's grad is: Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, + [20.]) + Tensor b's grad is: Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, + [8.]) + Tensor c's grad is: Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, + [4.]) + Tensor d's grad is: Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, + [10.]) -for epoch in range(epochs): - datas = zip(train_data, labels) - for i, (data, label) in enumerate(datas): - # Step2:create AMP context environment - with paddle.amp.auto_cast(): - output = model(data) - loss = mse(output, label) - # Step3:use GradScaler complete the loss scaling - scaled = scaler.scale(loss) - scaled.backward() +```python +class Model(paddle.nn.Layer): - # update parameters - scaler.minimize(optimizer, scaled) - optimizer.clear_grad() + def __init__(self): + super(Model, self).__init__() + self.flatten = paddle.nn.Flatten() -print(loss) -end_timer_and_print("AMP time:") + def forward(self, inputs): + y = self.flatten(inputs) + return y ``` - Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, - [1.23644269]) - AMP time: - total time = 1.222 sec +```python +model = Model() +print(model.sublayers()) +print("----------------------") -## 4. Advanced Usage -### 4.1 Gradient Accumulation +for item in model.named_sublayers(): + print(item) +``` -Gradient accumulation means running a configured number of steps without updating the model variables. Until certain steps, use the accumulated gradients to update the variables. + [Flatten()] + ---------------------- + ('flatten', Flatten()) -In automatic mixed precision training, gradient accumulation is also supported, and the usage is as follows: ```python -model = SimpleNet(input_size, output_size) # define model +fc = paddle.nn.Linear(10, 3) +model.add_sublayer("fc", fc) +print(model.sublayers()) +``` + + [Flatten(), Linear(in_features=10, out_features=3, dtype=float32)] + + + +```python +def function(layer): + print(layer) + +model.apply(function) +``` -optimizer = paddle.optimizer.SGD(learning_rate=0.0001, parameters=model.parameters()) # define optimizer + Flatten() + Linear(in_features=10, out_features=3, dtype=float32) + Model( + (flatten): Flatten() + (fc): Linear(in_features=10, out_features=3, dtype=float32) + ) -accumulate_batchs_num = 10 # the batch numbers of gradients accumulation -# define GradScaler -scaler = paddle.amp.GradScaler(init_loss_scaling=1024) -start_timer() # get start time -for epoch in range(epochs): - datas = zip(train_data, labels) - for i, (data, label) in enumerate(datas): - # create AMP context environment - with paddle.amp.auto_cast(): - output = model(data) - loss = mse(output, label) + Model( + (flatten): Flatten() + (fc): Linear(in_features=10, out_features=3, dtype=float32) + ) - # use GradScaler complete the loss scaling - scaled = scaler.scale(loss) - scaled.backward() - # when the accumulated batch is accumulate_batchs_num, update the model parameters - if (i + 1) % accumulate_batchs_num == 0: - # update parameters - scaler.minimize(optimizer, scaled) - optimizer.clear_grad() -print(loss) -end_timer_and_print("AMP time:") +```python +sublayer_iter = model.children() +for sublayer in sublayer_iter: + print(sublayer) ``` - Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, - [1.25127280]) + Flatten() + Linear(in_features=10, out_features=3, dtype=float32) + + - AMP time: - total time = 1.006 sec +```python +class Model(paddle.nn.Layer): + + def __init__(self): + super(Model, self).__init__() + img = self.create_parameter([1,3,256,256]) + self.add_parameter("img", img) + self.flatten = paddle.nn.Flatten() + def forward(self): + y = self.flatten(self.img) + return y +``` -## 5. Conclusion -As can be seen from the above example, using the automatic mixed precision training, the total time is about 1.222s, while the ordinary training method takes 2.943s, and the training speed is increased by about 2.4 times. For more examples of using mixed precision training, please refer to paddlepaddle's models: [paddlepaddle/models](https://github.com/PaddlePaddle/models). +```python +model = Model() +model.parameters() +print("----------------------------------------------------------------------------------") +for item in model.named_parameters(): + print(item) +``` + + ---------------------------------------------------------------------------------- + ('img', Parameter containing: + Tensor(shape=[1, 3, 256, 256], dtype=float32, place=CUDAPlace(0), stop_gradient=False, + [[[[ 0.00330893, 0.00146855, -0.00315564, ..., -0.00037254, + -0.00398024, 0.00175103], + [-0.00269739, 0.00015307, 0.00215079, ..., 0.00083044, + 0.00433949, 0.00183416], + [ 0.00124980, 0.00066814, -0.00296695, ..., -0.00166787, + -0.00208646, 0.00066172], + ..., + [ 0.00118238, -0.00020917, -0.00211811, ..., 0.00341913, + 0.00110805, -0.00007380], + [-0.00283090, 0.00450932, -0.00027968, ..., 0.00141592, + 0.00147790, -0.00163899], + [ 0.00473807, 0.00005514, 0.00163972, ..., -0.00105391, + 0.00130420, -0.00455226]], + + [[ 0.00370526, -0.00421996, -0.00161209, ..., 0.00098369, + -0.00364983, 0.00031144], + [ 0.00173886, 0.00339773, 0.00141036, ..., 0.00346697, + 0.00417612, 0.00012173], + [ 0.00120599, 0.00061922, -0.00084213, ..., -0.00172405, + 0.00378877, -0.00097374], + ..., + [-0.00322239, 0.00413360, 0.00473170, ..., 0.00415691, + 0.00108459, -0.00351989], + [-0.00416756, 0.00164984, 0.00244981, ..., 0.00053153, + -0.00464938, 0.00450330], + [-0.00406198, -0.00193215, -0.00431253, ..., -0.00257889, + -0.00165101, -0.00138488]], + + [[ 0.00441089, 0.00360072, 0.00199083, ..., -0.00120336, + 0.00208172, 0.00016561], + [ 0.00456772, -0.00385161, 0.00081078, ..., -0.00298249, + -0.00269728, -0.00413104], + [ 0.00370318, 0.00103516, 0.00258130, ..., -0.00003251, + -0.00032389, -0.00006440], + ..., + [-0.00348314, -0.00025856, -0.00374935, ..., -0.00344840, + 0.00243370, -0.00292505], + [ 0.00477740, 0.00388781, -0.00466578, ..., 0.00121291, + 0.00004315, -0.00295597], + [ 0.00455716, 0.00302863, 0.00055869, ..., 0.00052850, + 0.00218663, 0.00267356]]]])) + + + +```python +model = Model() +out = model() +out.backward() +model.clear_gradients() +``` + + +```python +class Model(paddle.nn.Layer): + + def __init__(self): + super(Model, self).__init__() + self.saved_tensor = self.create_tensor(name="saved_tensor0") + self.flatten = paddle.nn.Flatten() + self.fc = paddle.nn.Linear(10, 100) + + def forward(self, input): + y = self.flatten(input) + # Save intermediate tensor + paddle.assign(y, self.saved_tensor) + y = self.fc(y) + return y +``` + + +```python +class Model(paddle.nn.Layer): + + def __init__(self): + super(Model, self).__init__() + saved_tensor = self.create_tensor(name="saved_tensor0") + self.register_buffer("saved_tensor", saved_tensor, persistable=True) + self.flatten = paddle.nn.Flatten() + self.fc = paddle.nn.Linear(10, 100) + + def forward(self, input): + y = self.flatten(input) + # Save intermediate tensor + paddle.assign(y, self.saved_tensor) + y = self.fc(y) + return y +``` + + +```python +model = Model() +print(model.buffers()) +for item in model.named_buffers():class Model(paddle.nn.Layer): + + def __init__(self): + super(Model, self).__init__() + self.flatten = paddle.nn.Flatten() + + def forward(self, inputs): + y = self.flatten(inputs) + return y + print(item) +``` + + + File "/tmp/ipykernel_104/851298997.py", line 3 + for item in model.named_buffers():class Model(paddle.nn.Layer): + ^ + SyntaxError: invalid syntax + + + + +```python +class Model(paddle.nn.Layer): + + def __init__(self): + super(Model, self).__init__() + self.flatten = paddle.nn.Flatten() + + def forward(self, inputs): + y = self.flatten(inputs) + return y +``` + + +```python +x = paddle.randn([10, 1], 'float32') +model = Model() +model.eval() # set model to eval mode +out = model(x) +model.train() # set model to train mode +out = model(x) +``` + + +```python +model = Model() +x = paddle.randn([10, 1], 'float32') +out = model(x) +print(out) +``` + + Tensor(shape=[10, 1], dtype=float32, place=CUDAPlace(0), stop_gradient=True, + [[-0.12737122], + [-0.57012707], + [-0.70294005], + [ 0.14529558], + [ 0.50616348], + [-0.96126020], + [ 0.51200545], + [ 2.64334464], + [ 1.11839330], + [ 0.61924362]]) + + + +```python +def forward_post_hook(layer, input, output): + return 2*output + +x = paddle.ones([10, 1], 'float32') +model = Model() +forward_post_hook_handle = model.flatten.register_forward_post_hook(forward_post_hook) +out = model(x) +print(out) +``` + + Tensor(shape=[10, 1], dtype=float32, place=CUDAPlace(0), stop_gradient=True, + [[2.], + [2.], + [2.], + [2.], + [2.], + [2.], + [2.], + [2.], + [2.], + [2.]]) + + + +```python +def forward_pre_hook(layer, input, output): + return 2*output + +x = paddle.ones([10, 1], 'float32') +model = Model() +forward_pre_hook_handle = model.flatten.register_forward_pre_hook(forward_pre_hook) +out = model(x) +``` + + + --------------------------------------------------------------------------- + + TypeError Traceback (most recent call last) + + /tmp/ipykernel_104/1696797913.py in + 5 model = Model() + 6 forward_pre_hook_handle = model.flatten.register_forward_pre_hook(forward_pre_hook) + ----> 7 out = model(x) + + + /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py in __call__(self, *inputs, **kwargs) + 912 self._built = True + 913 + --> 914 outputs = self.forward(*inputs, **kwargs) + 915 + 916 for forward_post_hook in self._forward_post_hooks.values(): + + + /tmp/ipykernel_104/2161125479.py in forward(self, inputs) + 6 + 7 def forward(self, inputs): + ----> 8 y = self.flatten(inputs) + 9 return y + + + /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py in __call__(self, *inputs, **kwargs) + 892 with param_guard(self._parameters), param_guard(self._buffers): + 893 for forward_pre_hook in self._forward_pre_hooks.values(): + --> 894 hook_result = forward_pre_hook(self, inputs) + 895 if hook_result is not None: + 896 if not isinstance(hook_result, tuple): + + + TypeError: forward_pre_hook() missing 1 required positional argument: 'output' + + + +```python + +``` diff --git a/docs/guides/01_paddle2.0_introduction/basic_concept/autograd_cn.rst b/docs/guides/01_paddle2.0_introduction/basic_concept/autograd_cn.rst index 3951f03c09d..fcf36e1d774 100644 --- a/docs/guides/01_paddle2.0_introduction/basic_concept/autograd_cn.rst +++ b/docs/guides/01_paddle2.0_introduction/basic_concept/autograd_cn.rst @@ -35,7 +35,7 @@ PaddlePaddle的神经网络核心是自动微分,本篇文章主要为你介 .. parsed-literal:: - 2.1.1 + 2.2.0 本案例首先定义网络。因为本示例着重展示如何使用飞桨进行自动微分,故组网部分不过多展开,直接使用高层API中封装好的模型\ ``vgg11``\ 。 @@ -291,4 +291,4 @@ PaddlePaddle的神经网络核心是自动微分,本篇文章主要为你介 五、总结 ------------------------ -本文章主要介绍了如何使用飞桨的自动微分,以及飞桨的自动微分机制。 +本文章主要介绍了如何使用飞桨的自动微分,以及飞桨的自动微分机制。 \ No newline at end of file diff --git a/docs/guides/01_paddle2.0_introduction/basic_concept/gradient_clip_cn.rst b/docs/guides/01_paddle2.0_introduction/basic_concept/gradient_clip_cn.rst index 5f32441212d..7d5cd89b959 100644 --- a/docs/guides/01_paddle2.0_introduction/basic_concept/gradient_clip_cn.rst +++ b/docs/guides/01_paddle2.0_introduction/basic_concept/gradient_clip_cn.rst @@ -20,6 +20,8 @@ Paddle提供了三种梯度裁剪方式: .. code:: ipython3 + import paddle + linear = paddle.nn.Linear(10, 10) clip = paddle.nn.ClipGradByValue(min=-1, max=1) sdg = paddle.optimizer.SGD(learning_rate=0.1, parameters=linear.parameters(), grad_clip=clip) diff --git a/docs/guides/01_paddle2.0_introduction/basic_concept/gradient_clip_en.rst b/docs/guides/01_paddle2.0_introduction/basic_concept/gradient_clip_en.rst index b6d58570b4f..31fd73f8b11 100644 --- a/docs/guides/01_paddle2.0_introduction/basic_concept/gradient_clip_en.rst +++ b/docs/guides/01_paddle2.0_introduction/basic_concept/gradient_clip_en.rst @@ -20,6 +20,8 @@ By default, Gradients of all parameters in SGD optimizer will be clipped: .. code:: ipython3 + import paddle + linear = paddle.nn.Linear(10, 10) clip = paddle.nn.ClipGradByValue(min=-1, max=1) sdg = paddle.optimizer.SGD(learning_rate=0.1, parameters=linear.parameters(), grad_clip=clip) diff --git a/docs/guides/01_paddle2.0_introduction/basic_concept/tensor_introduction_cn.md b/docs/guides/01_paddle2.0_introduction/basic_concept/tensor_introduction_cn.md index 3eb03db37b8..00efa373a39 100644 --- a/docs/guides/01_paddle2.0_introduction/basic_concept/tensor_introduction_cn.md +++ b/docs/guides/01_paddle2.0_introduction/basic_concept/tensor_introduction_cn.md @@ -81,8 +81,8 @@ array([[1., 2., 3.], **Tensor**不仅支持 floats、ints 类型数据,也支持 complex numbers数据,如果输入为复数数据,则**Tensor**的dtype为 ``complex64`` 或 ``complex128`` ,其每个元素均为1个复数: ```python -ndim_2_tensor = paddle.to_tensor([[1.0, 2.0, 3.0], - [4.0, 5.0, 6.0]]) +ndim_2_tensor = paddle.to_tensor([[(1+1j), (2+2j)], + [(3+3j), (4+4j)]]) print(ndim_2_tensor) ``` @@ -473,7 +473,6 @@ x.logical_not(y) #对两个bool型tensor逐元素进行逻辑非操 ### 线性代数相关 ```python -x.cholesky() #矩阵的cholesky分解 x.t() #矩阵转置 x.transpose([1, 0]) #交换axis 0 与axis 1的顺序 x.norm('fro') #矩阵的Frobenius 范数 diff --git a/docs/guides/01_paddle2.0_introduction/basic_concept/tensor_introduction_en.md b/docs/guides/01_paddle2.0_introduction/basic_concept/tensor_introduction_en.md index 9e44ad029a7..f9dfcde4c58 100644 --- a/docs/guides/01_paddle2.0_introduction/basic_concept/tensor_introduction_en.md +++ b/docs/guides/01_paddle2.0_introduction/basic_concept/tensor_introduction_en.md @@ -80,8 +80,8 @@ array([[1., 2., 3.], **Tensor** supports not only floats and ints but also complex numbers data, If input complex number data, the dtype of **Tensor** is ``complex64`` or ``complex128`` : ```python -ndim_2_tensor = paddle.to_tensor([[1.0, 2.0, 3.0], - [4.0, 5.0, 6.0]]) +ndim_2_tensor = paddle.to_tensor([[(1+1j), (2+2j)], + [(3+3j), (4+4j)]]) print(ndim_2_tensor) ``` @@ -482,7 +482,6 @@ x.logical_not(y) #logic not operation for two bool tensor ### linear algebra operators ```python -x.cholesky() #cholesky decomposition of a matrix x.t() #matrix transpose x.transpose([1, 0]) #swap axis 0 with axis 1 x.norm('fro') #Frobenius Norm of matrix diff --git a/docs/guides/01_paddle2.0_introduction/load_old_format_model.rst b/docs/guides/01_paddle2.0_introduction/load_old_format_model_cn.rst similarity index 100% rename from docs/guides/01_paddle2.0_introduction/load_old_format_model.rst rename to docs/guides/01_paddle2.0_introduction/load_old_format_model_cn.rst diff --git a/docs/guides/01_paddle2.0_introduction/migration_cn.rst b/docs/guides/01_paddle2.0_introduction/migration_cn.rst index f04a2ee8835..94f9e2ee60d 100644 --- a/docs/guides/01_paddle2.0_introduction/migration_cn.rst +++ b/docs/guides/01_paddle2.0_introduction/migration_cn.rst @@ -66,7 +66,7 @@ paddle_upgrade_tool 可以使用下面的方式,快速使用: 开始 ^^^^ -在使用paddle_upgrade_tool前,需要确保已经安装了Paddle 2.0.0版本。 +在使用paddle_upgrade_tool前,需要确保已经安装了Paddle 2.0.0+版本。 .. code:: ipython3 diff --git a/docs/guides/01_paddle2.0_introduction/update_cn.md b/docs/guides/01_paddle2.0_introduction/update_cn.md index 2e1c44ab4ac..7f367547d13 100644 --- a/docs/guides/01_paddle2.0_introduction/update_cn.md +++ b/docs/guides/01_paddle2.0_introduction/update_cn.md @@ -558,5 +558,5 @@ https://github.com/PaddlePaddle/paddle_upgrade_tool ### 2.0文档教程 以下提供了2.0版本的一些示例教程: -你可以在官网[应用实践](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/tutorial/index_cn.html)栏目内进行在线浏览,也可以下载在这里提供的源代码: -https://github.com/PaddlePaddle/book/tree/develop/paddle2.0_docs +你可以在官网[应用实践](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/practices/index_cn.html)栏目内进行在线浏览,也可以下载在这里提供的源代码: +https://github.com/PaddlePaddle/docs/tree/develop/docs/practices diff --git a/docs/guides/02_paddle2.0_develop/05_train_eval_predict_cn.rst b/docs/guides/02_paddle2.0_develop/05_train_eval_predict_cn.rst index 789be2a9394..3c2182c9b33 100644 --- a/docs/guides/02_paddle2.0_develop/05_train_eval_predict_cn.rst +++ b/docs/guides/02_paddle2.0_develop/05_train_eval_predict_cn.rst @@ -7,7 +7,7 @@ .. note:: - 高层API实现的模型训练与预测如\ ``Model.fit()、Model.evaluate()、Model.predict()``\ 都可以通过基础API实现,本文先介绍高层API的训练方式,然后会将高层API拆解为基础API的方式,方便对比学习。最后会补充介绍如何使用paddle inference进行预测。 + 高层API实现的模型训练与预测如\ ``Model.fit()、Model.evaluate()、Model.predict()``\ 都可以通过基础API实现,本文先介绍高层API的训练方式,然后会将高层API拆解为基础API的方式,方便对比学习。 一、训练前准备 --------------------- @@ -137,11 +137,6 @@ numpy_ndarray_n是对应原始数据经过模型计算后得到的预测数据 除了通过第一部分的高层API实现模型的训练与预测,飞桨框架也同样支持通过基础API对模型进行训练与预测。简单来说,\ ``Model.prepare()、Model.fit()、Model.evaluate()、Model.predict()``\ 都是由基础API封装而来。下面通过拆解高层API到基础API的方式,来了解如何用基础API完成模型的训练与预测。 - -.. note:: - - 对于网络模型的创建你依旧可以选择Sequential组网方式,也可以采用SubClass组网方式,为方便后续使用paddle inference进行预测,我们使用SubClass组网方式创建网络,若后续使用paddle inference预测,需通过paddle.jit.save保存适用于预测部署的模型,并在forward函数前加@paddle.jit.to_static装饰器,将函数内的动态图API转化为静态图API。 - .. code:: ipython3 # 定义网络结构( 采用SubClass 组网 ) @@ -153,9 +148,7 @@ numpy_ndarray_n是对应原始数据经过模型计算后得到的预测数据 self.linear_2 = paddle.nn.Linear(512, 10) self.relu = paddle.nn.ReLU() self.dropout = paddle.nn.Dropout(0.2) - - #后续若不使用paddle inferece,可对 @paddle.jit.to_static 进行注释 - @paddle.jit.to_static + def forward(self, inputs): y = self.flatten(inputs) y = self.linear_1(y) @@ -214,9 +207,6 @@ numpy_ndarray_n是对应原始数据经过模型计算后得到的预测数据 # 梯度清零 optim.clear_grad() - ##保存模型,会生成*.pdmodel、*.pdiparams、*.pdiparams.info三个模型文件 - path='./mnist/inference_model' - paddle.jit.save(layer=mnist,path=path) .. parsed-literal:: @@ -284,101 +274,3 @@ numpy_ndarray_n是对应原始数据经过模型计算后得到的预测数据 .. parsed-literal:: predict finished - - -部署预测模型 -===================== -其中预测方法除以上两种外,还可采用原生推理库paddle inference 进行推理部署,该方法支持TeansorRT加速,支持第三方框架模型,支持量化、裁剪后的模型,适合于工业部署或对推理性能、通用性有要求的用户。 - - -四、通过paddle inference实现预测 ------------------------------------------ - -paddle inference与model.predict()以及基础API的预测相比,可使用MKLDNN、CUDNN、TensorRT进行预测加速,同时支持用 X2Paddle 工具从第三方框架(TensorFlow、Pytorh 、 Caffe 等)产出的模型,可联动PaddleSlim,支持加载量化、裁剪和蒸馏后的模型部署。针对不同平台不同的应用场景进行了深度的适配优化,保证模型在服务器端即训即用,快速部署。在这里,我们只简单的展示如何用paddle inference实现该模型的部署预测。 - -4.1 准备预测部署模型 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -要使用paddle inference预测需得到paddle预测格式的模型,所以你需要在训练过程中通过 paddle.jit.save(layer=mnist,path=path) 来保存模型,注意在训练时在forward函数前加@paddle.jit.to_static装饰器,将函数内的动态图API转化为静态图API。在第三章节基础API模型的训练中已加入相关配置。 - -.. code:: ipython3 - - #模型目录如下: - mnist/ - ├── inference.pdmodel - ├── inference.pdiparams.info - └── inference.pdiparams -4.2 准备预测部署程序 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -将以下代码保存为python_demo.py文件: - -.. code:: ipython3 - - import argparse - import numpy as np - from skimage import transform,data - - # 引用 paddle inference 预测库 - import paddle.inference as paddle_infer - from PIL import Image - - def main(): - args = parse_args() - - # 创建 config - config = paddle_infer.Config(args.model_file, args.params_file) - - # 根据 config 创建 predictor - predictor = paddle_infer.create_predictor(config) - - # 获取输入的名称 - input_names = predictor.get_input_names() - input_handle = predictor.get_input_handle(input_names[0]) - - # 设置输入,自定义一张输入照片,图片大小为28*28 - im=Image.open('./img3.png').convert('L') - im=np.array(im).reshape(1,1,28,28).astype(np.float32) - input_handle.copy_from_cpu(im) - - # 运行predictor - predictor.run() - - # 获取输出 - output_names = predictor.get_output_names() - output_handle = predictor.get_output_handle(output_names[0]) - output_data = output_handle.copy_to_cpu() # numpy.ndarray类型,是10个分类的概率 - print(output_data) - print("Output data size is {}".format(output_data.size)) - print("Output data shape is {}".format(output_data.shape)) - pred=np.argmax(output_data) #选出概率最大的一个 - print("The predicted data is : {}".format(pred.item())) - - def parse_args(): - parser = argparse.ArgumentParser() - parser.add_argument("--model_file", type=str, help="model filename") - parser.add_argument("--params_file", type=str, help="parameter filename") - parser.add_argument("--batch_size", type=int, default=1, help="batch size") - return parser.parse_args() - - if __name__ == "__main__": - main() - - -4.3 执行预测程序 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. code:: ipython3 - - python python_demo.py --model_file ./mnist/inference_model.pdmodel --params_file ./mnist/inference_model.pdiparams --batch_size 2 - -.. parsed-literal:: - - #输出如下 - - [[-1347.5923 -1156.918 -774.73865 3387.0623 -1553.3696 107.96879 - -2631.2185 -701.50323 -1094.3896 206.71666]] - Output data size is 10 - Output data shape is (1, 10) - The predicted data is : 3 - -详细教程可参照paddle inference文档:https://paddle-inference.readthedocs.io/en/latest/quick_start/python_demo.html - diff --git a/docs/guides/performance_improving/index_cn.rst b/docs/guides/performance_improving/index_cn.rst index 241893eca6b..64faa2caf93 100644 --- a/docs/guides/performance_improving/index_cn.rst +++ b/docs/guides/performance_improving/index_cn.rst @@ -2,6 +2,11 @@ 性能调优 ######## +你可以通过以下内容,了解飞桨框架性能调优相关的内容: + +- `模型量化 <./quantization.html>`_ : 使用飞桨框架进行模型量化。 + .. toctree:: - :maxdepth: 1 + :hidden: + quantization.md \ No newline at end of file diff --git a/docs/release_note_cn.md b/docs/release_note_cn.md index fc56944eac8..673098a5676 100644 --- a/docs/release_note_cn.md +++ b/docs/release_note_cn.md @@ -1,13 +1,13 @@  -# 2.2.0 rc0 Release Note +# Release Note ## 1. 重要更新 -我们很高兴的发布飞桨框架2.2.0-rc0版本,本版本包含如下重要更新。 +我们很高兴的发布飞桨框架2.2.0版本,本版本包含如下重要更新。 ### API -- 新增100+个API,包含24个傅里叶变换API、14个线性代数计算 API 等,更好地支持科学计算类、信号处理类模型。 +- 新增100+个API,包含24个傅里叶变换API、17个线性代数计算 API 等,更好地支持科学计算类、信号处理类模型。 - 新增多种索引类型的支持,新增的索引类型包括:省略号(…)、维度扩增(None)、布尔类型数组(Bool Mask)、整数数组((list),以及张量(Tensor) ),可以更加方便的对张量(Tensor)进行操作。 - 新增 `paddle.einsum` API,可以以更加简洁的方式来表达多维张量(Tensor)的计算。 - 动态图混合精度功能增强,新增整个任务使用半精度(float16)训练的方式,主要任务下的计算效率提升20%左右。 @@ -290,7 +290,9 @@ paddle.int64 - 新增 ``paddle.linalg.multi_dot``,支持多个矩阵连乘的计算。([#35224](https://github.com/PaddlePaddle/Paddle/pull/35224)) - 新增 ``paddle.linalg.solve``,支持计算线性方程组的解。([#35715](https://github.com/PaddlePaddle/Paddle/pull/35715)) - 新增``paddle.linalg.matrix_power``,支持矩阵的幂运算操作。([#34667](https://github.com/PaddlePaddle/Paddle/pull/34667)) - + - 新增`paddle.linalg.eigvalsh`,用于计算厄米特矩阵或者实数对称矩阵的特征值。([#36680](https://github.com/PaddlePaddle/Paddle/pull/36680)) + - 新增`paddle.linalg.eig`,用于计算一般方阵的特征值和特征向量。([#35674](https://github.com/PaddlePaddle/Paddle/pull/35674)) + - 新增`paddle.linalg.qr`,用于计算矩阵的QR分解(暂不支持反向)。([#36627](https://github.com/PaddlePaddle/Paddle/pull/36627)) - 新增傅里叶变换相关API ([#35665](https://github.com/PaddlePaddle/Paddle/pull/35665)) - 新增快速傅立叶变换系列函数 - 可微分的 1d 到 nd 复数到复数快速傅里叶变换。(``paddle.fft.fft``, ``paddle.fft.fft2``, ``paddle.fft.fftn``, ``paddle.fft.ifft``, ``paddle.fft.ifft2``, ``paddle.fft.ifftn``) @@ -314,8 +316,10 @@ paddle.int64 - 新增 ``paddle.Model.fit`` 和 ``paddle.Model.evaluate`` 动态图模式下 ``num_iters`` 参数,控制训练迭代轮数。([#33986](https://github.com/PaddlePaddle/Paddle/pull/33986)) - 新增 ``paddle.vision.ops.yolo_box`` 参数 ``iou_aware`` 和 ``iou_aware_factor``,支持 YoloBox 使用预测的 IOU 作为置信度的因子。([#33400](https://github.com/PaddlePaddle/Paddle/pull/33400)) - 新增 ``paddle.summary`` 参数``input``,支持给定输入。([#34165](https://github.com/PaddlePaddle/Paddle/pull/34165)) + - 新增`paddle.text.viterbi_decode`,支持动态图下CPU、GPU的Viterbi解码功能。([#35778](https://github.com/PaddlePaddle/Paddle/pull/35778)) - 新增组网类 API + - 新增`paddle.nn.functional.sparse_attention`,用于计算稀疏的Transformer Attention模块。([#35757](https://github.com/PaddlePaddle/Paddle/pull/35757)) - 新增 ``paddle.nn.MaxUnPool2D`` 和 ``paddle.nn.functional.max_unpool2d``,支持根据输入的input和最大值位置计算出池化的逆结果。([#35056](https://github.com/PaddlePaddle/Paddle/pull/35056)) - 新增 ``paddle.nn.functional.gumbel_softmax``,支持 ``gumbel softmax`` 采样。([#35506](https://github.com/PaddlePaddle/Paddle/pull/35506), [#36065](https://github.com/PaddlePaddle/Paddle/pull/36065), [#36094](https://github.com/PaddlePaddle/Paddle/pull/36094)) - 新增 ``paddle.nn.functional.class_center_sample``,支持 PartialFC 类中心采样功能。([#34106](https://github.com/PaddlePaddle/Paddle/pull/34106)) @@ -332,9 +336,13 @@ paddle.int64 - 新增 ``paddle.device.cuda.empty_cache``,支持清理空闲的显存。([#35427](https://github.com/PaddlePaddle/Paddle/pull/35427)) - 新增 ``paddle.device.cuda.get_device_properties``,支持返回给定的设备属性。([#35875](https://github.com/PaddlePaddle/Paddle/pull/35875)) - 新增 ``paddle.device.cuda.stream_guard``,用于动态图下 CUDA Stream的灵活切换。([#35623](https://github.com/PaddlePaddle/Paddle/pull/35623)) - + - 新增`paddle.device.cuda.get_device_name`,支持返回给定设备的名称。([#36172](https://github.com/PaddlePaddle/Paddle/pull/36172)) + - 新增`paddle.device.cuda.get_device_capability`,支持返回给定设备计算能力的版本号。([#36172](https://github.com/PaddlePaddle/Paddle/pull/36172)) + - 新增`paddle.framework.core.async_read`和`paddle.framework.core.async_write`,可支持非默认 CUDA `Stream`下`CUDAPinnedPlace` 和 `CUDAPlace` 的 `Tensor` 数据异步读写。([#36501](https://github.com/PaddlePaddle/Paddle/pull/36501)) - 新增Tensor操作API + - 新增`paddle.tensordot`,支持对高维张量做缩并(Tensor Contraction)运算。([#36454](https://github.com/PaddlePaddle/Paddle/pull/36454)) + - 新增`paddle.bincount`,支持对一维张量内元素进行计数。([#36709](https://github.com/PaddlePaddle/Paddle/pull/36709)) - 新增 `paddle.broadcast_tensors` ,支持对一组 `Tensor` 进行广播操作。([#33294](https://github.com/PaddlePaddle/Paddle/pull/33294), [#34874](https://github.com/PaddlePaddle/Paddle/pull/34874)) - 新增 `paddle.einsum` 。([#33821](https://github.com/PaddlePaddle/Paddle/pull/34874)) - 增强``paddle.tensor.gradient``接口,支持sigmoid_op的二阶求导算子。([#32971](https://github.com/PaddlePaddle/Paddle/pull/32971)) @@ -373,6 +381,7 @@ paddle.int64 - 新增 ``paddle.static.ExponentialMovingAverage``,支持用指数衰减计算参数的滑动平均值。([#35673](https://github.com/PaddlePaddle/Paddle/pull/35673)) - 新增 `` paddle::Tensor::slice`` C++ API, 支持 slice 操作,允许用户对外部 Tensor 切片操作。([#34227](https://github.com/PaddlePaddle/Paddle/pull/34227)) - 新增``paddle.incubate.segment_*``系列API,包含 ``paddle.incubate.segment_sum, paddle.incubate.segment_mean, paddle.incubate.segment_max, paddle.incubate.segment_min``。支持对`Tensor`按照分段求和、求均值、求最大值、求最小值。 ([#35759](https://github.com/PaddlePaddle/Paddle/pull/35759)) + - 新增`paddle.version.cuda`和`paddle.version.cudnn`,用于获取 paddle 安装包所使用的 `CUDA`和 `cuDNN`的版本号。([#36556](https://github.com/PaddlePaddle/Paddle/pull/36556)) #### IR(Intermediate Representation) - 动态图转静态图 @@ -388,13 +397,15 @@ paddle.int64 - 提供分析 `Program` 中控制流需要的依赖辅助函数。 ([#33439](https://github.com/PaddlePaddle/Paddle/pull/33439)) - `Program` 和 `Graph` 相互转换后保留训练所需要的 `stop_gradient` , `persistable` 属性值。([#33771](https://github.com/PaddlePaddle/Paddle/pull/33771)) - 原 `Pass` 只处理主`Graph`,忽略子图,现`Pass` 支持处理主 `Graph`及其所有子图。 ([#34158](https://github.com/PaddlePaddle/Paddle/pull/34158)) - - 处理了在预测情况下 `Program` 和 `Graph` 互转的一些拓扑排序问题。([#34121](https://github.com/PaddlePaddle/Paddle/pull/34121), [#34521](https://github.com/PaddlePaddle/Paddle/pull/34521)). **《== ** + - 处理了在预测情况下 `Program` 和 `Graph` 互转的一些拓扑排序问题。([#34121](https://github.com/PaddlePaddle/Paddle/pull/34121), [#34521](https://github.com/PaddlePaddle/Paddle/pull/34521)) - Pass开发 - 新增 Python 侧针对 fusion 等子图替换场景下的 Pass 开发方式。([#35708](https://github.com/PaddlePaddle/Paddle/pull/35708), [#35602](https://github.com/PaddlePaddle/Paddle/pull/35602)) - Kernel Primitive API - 对算子 Kernel 实现中的底层代码进行了抽象与功能封装,提供高性能的 Block 级 IO 运算和 Compute 运算。使用 Kernel Primitive API 进行 Kernel 开发可以更加专注计算逻辑的实现,在保证性能的同时大幅减少代码量,同时实现了算子计算与硬件解耦。([#34672](https://github.com/PaddlePaddle/Paddle/pull/34672), [#35075](https://github.com/PaddlePaddle/Paddle/pull/35075), [#34456](https://github.com/PaddlePaddle/Paddle/pull/34456), [#35282](https://github.com/PaddlePaddle/Paddle/pull/35282), [#35743](https://github.com/PaddlePaddle/Paddle/pull/35743), [#34208](https://github.com/PaddlePaddle/Paddle/pull/34208)) + - 在 Kernel Primitive API中添加一元和二元计算Functor共13个。 ([#36418](https://github.com/PaddlePaddle/Paddle/pull/36418)) + - 修改 Kernel Primitive API 中 ReadData 实现方式,修复`NX !=1`访存越界的问题。 ([#36373](https://github.com/PaddlePaddle/Paddle/pull/36373)) #### 混合精度训练 - 动态图混合精度功能增强,新增整个任务使用半精度(float16)训练的方式,主要任务下的计算效率提升20%左右。 ([#35521](https://github.com/PaddlePaddle/Paddle/pull/35521)) @@ -512,7 +523,13 @@ paddle.int64 - 优化``l2_normalize``,``p_norm``,``elementwise_max``,``prelu``,``clip_by_norm``,``lars optimizer``算子支持float16计算。 ([#35576](https://github.com/PaddlePaddle/Paddle/pull/35576), [#35888](https://github.com/PaddlePaddle/Paddle/pull/35888), [#35888](https://github.com/PaddlePaddle/Paddle/pull/35888), [35532](https://github.com/PaddlePaddle/Paddle/pull/35532), [#35446](https://github.com/PaddlePaddle/Paddle/pull/35446), [#33280](https://github.com/PaddlePaddle/Paddle/pull/33280)) - 优化flowers数据集的读取速度,从每批次数分钟优化至1~3秒。([#31408](https://github.com/PaddlePaddle/Paddle/pull/31408)) - 支持`paddle.distributed.fleet.DistributedStrategy` 中 `without_graph_optimize` 开关打开后的fuse allreduce sum功能。FP32下性能提升3%,AMP下性能提升8%。([#34446](https://github.com/PaddlePaddle/Paddle/pull/34446)) - +- `paddle.matmul` 将底层Op算子由matmul op 切换到 matmul_v2 op。 ([#36374](https://github.com/PaddlePaddle/Paddle/pull/36374)) +- `paddle.fft` 模块添加了 mkl_cdft 和 hipfft 两个计算后端。 ([#36537](https://github.com/PaddlePaddle/Paddle/pull/36537)) +- `paddle.roll` 的参数 `shifts` 支持 `Tensor` 作为输入。 ([#36537](https://github.com/PaddlePaddle/Paddle/pull/36537)) +- `paddle.shape` 支持复数类型的输入。([#36835](https://github.com/PaddlePaddle/Paddle/pull/36835)) +- matmul_v2 支持量化。([#36469](https://github.com/PaddlePaddle/Paddle/pull/36469)) +- 新增 `clip_op` 对 `float16` 的支持。 ([#36672](https://github.com/PaddlePaddle/Paddle/pull/36672)) +- `paddle.fft` 模块为 cufft 后端添加了缓存 plan 的功能,优化性能。([#36537](https://github.com/PaddlePaddle/Paddle/pull/36537)) #### IR(Intermediate Representation) - 动态图转静态图 @@ -521,6 +538,9 @@ paddle.int64 - 优化了动转静训练代码逻辑,升级内部 ``Program`` 缓存机制,新增输入 ``Tensor`` 的提前 copy 策略,提升训练性能。 ([#34181](https://github.com/PaddlePaddle/Paddle/pull/34181), [#33796](https://github.com/PaddlePaddle/Paddle/pull/33796)) - 优化动转静内部执行器显存回收策略,减少训练时显存占用量。 ([#34177](https://github.com/PaddlePaddle/Paddle/pull/34177)) - 集成了 ``Gast`` 三方依赖库的源码,解耦了版本依赖。 ([#34556](https://github.com/PaddlePaddle/Paddle/pull/34556)) + - 动转静报错时显示部分框架层报错信息,使得定位问题更加容易。([#36765](https://github.com/PaddlePaddle/Paddle/pull/36765)) + - 移除动转静报错模块中重复的临时文件删除函数`remove_static_file()`。([#36375](https://github.com/PaddlePaddle/Paddle/pull/36375)) + - 优化对RegisterPass中`input_specs`参数处理,支持图优化时作为匹配子图条件。([#36453](https://github.com/PaddlePaddle/Paddle/pull/36453)) #### 分布式训练 @@ -534,7 +554,13 @@ paddle.int64 - `paddle.io.Dataset` 支持动态库解析数据。 ([#33969](https://github.com/PaddlePaddle/Paddle/pull/33969)) - 新增 `paddle.distributed.fleet.dataset.DatasetBase` 中对`use_var_list`和 `pipe_command` 生成数据的一致性检查函数。 ([#34463](https://github.com/PaddlePaddle/Paddle/pull/34463)) - 新增 `paddle.fluid.layers.embedding` 的 `emd` 维度与 `fleet` 中` sparse table` 的 `emb` 维度的一致性检查。 ([#34249](https://github.com/PaddlePaddle/Paddle/pull/34249)) - + - 动态图混合并行支持Pure FP16训练。([#36707](https://github.com/PaddlePaddle/Paddle/pull/36707)) + - 静态图混合并行支持dropout使用固定随机种子生成器,以确保模型并行中全局变量的一致性与局部变量的随机性。([#36682](https://github.com/PaddlePaddle/Paddle/pull/36682)) + ‘ + - 实现了CPU并行,并支持调用 spawn 或 launch 时可以添加自定义的backend参数。可用的backend选择为 "gloo", "nccl", "bkcl", "auto" ,分别表示CPU并行,GPU并行,XPU并行和按照Paddle版本自动选择。([#35745](https://github.com/PaddlePaddle/Paddle/pull/35745)) + - 优化动态图混合并行 HybridParallelClipGrad 策略,支持4D混合并行+Pure FP16训练。([#36707](https://github.com/PaddlePaddle/Paddle/pull/36707)) + - 添加 SlotRecordDataset 类支持GPU参数服务器训练。([#36710](https://github.com/PaddlePaddle/Paddle/pull/36710)) + - GPU参数服务器构建阶段支持使用SlotRecordDataset。([#36723](https://github.com/PaddlePaddle/Paddle/pull/36723)) - 静态图混合并行 - 优化混合并行 loss scale,减少 scale op 插入个数。([#35775](https://github.com/PaddlePaddle/Paddle/pull/35775)) @@ -555,6 +581,14 @@ paddle.int64 - 修正 ``paddle.jit.save`` 接口和模型裁剪的逻辑,不再为输出变量增加一个关联的 ``scale_op``,可以正确导出含有 ``bool``,``float16`` 类型输出的模型。([#35730](https://github.com/PaddlePaddle/Paddle/pull/35730), [#36132](https://github.com/PaddlePaddle/Paddle/pull/36132)) - 自定义OP - 移除 ``paddle::Tensor`` 的 ``copy`` 方法中不必要的 ``cudaStreamSynchronize`` 操作,以提升性能。([#35802](https://github.com/PaddlePaddle/Paddle/pull/35802)) +- 新增C++对GeneratePass开发注册的支持,开发方式与Python侧对齐。([#36302](https://github.com/PaddlePaddle/Paddle/pull/36302)) +- 自动稀疏化训练(Automic SParsity) + - 新增`paddle.static.sparsity`,支持生成`n:m`稀疏模式的稀疏参数,目前只支持静态图ASP训练。A100上FP32、FP16分别设置`1:2`、`2:4`的稀疏模式,训练保存的稀疏模型,可通过调用TensorRT 8利用Ampere架构的稀疏Tensor Core加速推理任务。当前版本共提供了5个API:([#32995](https://github.com/PaddlePaddle/Paddle/pull/32995)、[#33132](https://github.com/PaddlePaddle/Paddle/pull/33132)、[#33558](https://github.com/PaddlePaddle/Paddle/pull/33558)、[#36525](https://github.com/PaddlePaddle/Paddle/pull/36525)) + - `paddle.static.sparsity.calculate_density`,计算输入Tensor的密度。 + - `paddle.static.sparsity.decorate`,将给定的优化器包装为`OptimizerWithSparsityGuarantee`,在调用 `optimizer.minimize()`时自动为ASP工作流插入必要的操作。 + - `paddle.static.sparsity.prune_model`,依据`mask_algo`指定的掩码生成函数裁剪`main_program`中支持的层的参数。 + - `paddle.static.sparsity.set_excluded_layers`,设置不会被裁剪的层的参数名称。 + - `paddle.static.sparsity.reset_excluded_layers`,重置与`main_program`相对应的`excluded_layers`设置。 @@ -594,6 +628,18 @@ paddle.int64 - 优化动态图性能,将只在静态图执行的逻辑从动态图的执行路径中剥离。([#34024](https://github.com/PaddlePaddle/Paddle/pull/34024)) - IR Pass优化能力作为通用能力露出,同时支持单机和分布式优化。在GPT混合并行场景性能提升3%-5%。([#34955](https://github.com/PaddlePaddle/Paddle/pull/34955), [#35704](https://github.com/PaddlePaddle/Paddle/pull/35704), [#34730](https://github.com/PaddlePaddle/Paddle/pull/34730), [#34524](https://github.com/PaddlePaddle/Paddle/pull/34524)) - 优化 ctc loss grad 计算速度,提速~3x,但相应增加了GPU显存占用。([#34729](https://github.com/PaddlePadle/Paddle/pull/34729)) +- transformer encoder 性能优化 + - 优化思路:通过新增 `paddle.incubate.nn.FusedMultiHeadAttention` 和 `paddle.incubate.nn.FusedFeedForward` 的方式,在实现中采用 q, k, v gemm融合及多种kernel融合优化技术,提升transformer encoder的性能。 + - FusedAttention + - 新增 `paddle.incubate.nn.functional.fused_multi_head_attention` ,支持multi-head attention的融合计算。([#35905](https://github.com/PaddlePaddle/Paddle/pull/35905) [35903](https://github.com/PaddlePaddle/Paddle/pull/35903) [#36803](https://github.com/PaddlePaddle/Paddle/pull/36803) [#36793](https://github.com/PaddlePaddle/Paddle/pull/36793) [36185](https://github.com/PaddlePaddle/Paddle/pull/36185)) + - 新增 `paddle.incubate.nn.FusedMultiHeadAttention` ,用于融合multi-head attention的layer层组网。 ([#36498](https://github.com/PaddlePaddle/Paddle/pull/36498) ) + - 该模块使用q, k, v gemm融合和bias add + dropout + residual add + layer_norm kernel融合优化技术,可带来1.08x-1.45x加速。 + + - FusedFeedForward + - 新增 `paddle.incubate.nn.functional.fused_feedforward` ,支持 feedforward的融合计算。([#36729](https://github.com/PaddlePaddle/Paddle/pull/36729) [#36730](https://github.com/PaddlePaddle/Paddle/pull/36730)) + - 新增 `paddle.incubate.nn.FusedFeedForward` ,用于融合feedforward的layer层组网。 ([#36776](https://github.com/PaddlePaddle/Paddle/pull/36776)) + - 性能较优化前有1.04x~1.22x左右的提升。 + - 新增 `paddle.incubate.nn.FusedTransformerEncoderLayer`,支持使用融合multi-head attention和融合feedforward计算的layer层组网。 ([#36776](https://github.com/PaddlePaddle/Paddle/pull/36776)) ### (4)问题修复 @@ -687,12 +733,27 @@ paddle.int64 - 迁移``paddle.nn.functional.dice_loss``API中的`one_hot`算子到`one_hot_v2`算子。([#35734](https://github.com/PaddlePaddle/Paddle/pull/35734)) - 修复 ``paddle.summary`` 静态图模式下使用 bug。([#35303](https://github.com/PaddlePaddle/Paddle/pull/35303)) - 修复 ``paddle.Model.prepare`` 静态图模式下多卡启动的 bug。([#34311](https://github.com/PaddlePaddle/Paddle/pull/34311)) +- 修复`paddle.nn.functional.cross_entropy` 给定`weight`,且指定`axis`为除-1外的其他合法维度时会报错的问题。([#36647](https://github.com/PaddlePaddle/Paddle/pull/36647)) +- 修复`paddle.utils.dlpack.to_dlpack`无法编码多维 `Tensor` 的问题,修复其所生成的 DLPack 对象无法进行跨深度学习框架共享的问题。([#36177](https://github.com/PaddlePaddle/Paddle/pull/36177)) +- 修复使用`paddle.distribution.Categorical`的`sample`方法报错的问题,具体原因是multinomial op的cuda kernel中数组访问越界,该bug会导致访问超出数组下标的值,引起报错。 ([#36511](https://github.com/PaddlePaddle/Paddle/pull/36511)) +- 修复动态图`_BatchNormBase`基类中修改了 default_dtype,导致后续组网参数类型错误的问题,受影响的API有`paddle.nn.BatchNorm1D`,`paddle.nn.BatchNorm2D`,`paddle.nn.BatchNorm3D`,`paddle.nn.SyncBatchNorm`。具体原因是当 `get_default_dtype() == 'float16'` 时,通过 `set_default_dtype('float32')`修改默认参数数据类型,动态图组网的参数类型是通过 default_dtype 来创建的,因此当默认参数类型被修改后导致后续的组网参数类型错误。 ([#36376](https://github.com/PaddlePaddle/Paddle/pull/36376)) +- 修复`paddle.nn.functional.grid_sample`因特殊输入导致的异常问题。([#36625](https://github.com/PaddlePaddle/Paddle/pull/36625)) +- 修复 `paddle.fft.fft`, `paddle.fft.ifft`, `paddle.fft.rfft` , `paddle.fft.irfft`, `paddle.fft.hfft`, `paddle.fft.ihfft` 在输入 `axis=0` 情况下的计算错误问题。([#36537](https://github.com/PaddlePaddle/Paddle/pull/36537)) +- 修复 `paddle.fft.fftshift` 和 `paddle.fft.ifftshift` 在静态图下出错的问题。([#36537](https://github.com/PaddlePaddle/Paddle/pull/36537)) +- 修复 `paddle.fft.ifftshift` 计算结果不正确的问题。([#36835](https://github.com/PaddlePaddle/Paddle/pull/36835)) +- 修复`paddle.nn.functional.pad`在`replicate`模式下的报错信息提示。([#36531](https://github.com/PaddlePaddle/Paddle/pull/36531)) + #### IR(Intermediate Representation) - 动态图转静态图 - 修复了动转静后,在 ``paddle.no_grad`` 语义下显存异常增长的问题。([#35725](https://github.com/PaddlePaddle/Paddle/pull/35725)) - 修复了对 ``paddle.no_grad`` 接口的错误识别和转换问题。([#34136](https://github.com/PaddlePaddle/Paddle/pull/34136)) + - 修复了部分场景下模型中间设置 stop_gradient=True 时,动转静训练报错的问题。([#36353](https://github.com/PaddlePaddle/Paddle/pull/36353)) + - 修复了在控制流 if 的部分场景转换时,对返回结果检查会报错的问题。([#36830](https://github.com/PaddlePaddle/Paddle/pull/36830)) + - 修复了在 ifelse 分支返回不等长结果时,动转静会额外对齐返回长度导致返回类型意外改变的问题。([#36565](https://github.com/PaddlePaddle/Paddle/pull/36565)) + - 修复使用 jit.save/load 接口加载模型后,在 train 模式和 no_grad 上下文中,显存会一直增长的问题。([#36463](https://github.com/PaddlePaddle/Paddle/pull/36463)) + #### 分布式训练 @@ -727,6 +788,10 @@ paddle.int64 - 修复 GPU 参数服务器使用非0卡训练报错问题。([#33078](https://github.com/PaddlePaddle/Paddle/pull/33078)) - 修复 GPU 参数服务器 delta score,scale show问题。([#33492](https://github.com/PaddlePaddle/Paddle/pull/33078), [#33492](https://github.com/PaddlePaddle/Paddle/pull/33492)) - 修复 GPU 参数服务器训练结束后未 merge dense,g2sum 计算有误,data norm 添加了optimize op 等问题。 ([#35029](https://github.com/PaddlePaddle/Paddle/pull/35029)) + - 修复使用 fuse all reduce ops 开关时,如果梯度出现 empty 时会报错的问题。([#36231](https://github.com/PaddlePaddle/Paddle/pull/36231)) + - 修复 dist_transformer 文件出现未定义的变量问题。([#36211](https://github.com/PaddlePaddle/Paddle/pull/36211)) + + - 动态图混合并行 - 修复流水线并行计算错误的问题。([#35556](https://github.com/PaddlePaddle/Paddle/pull/35556)) @@ -767,6 +832,8 @@ paddle.int64 - 子图通过支持Paddle-Lite NNAdapter接入ascend310硬件预测 [#35226](https://github.com/PaddlePaddle/Paddle/pull/35226), 示例可参考[demo](https://github.com/PaddlePaddle/Paddle-Inference-Demo/tree/master/c%2B%2B/ascend310_lite_subgraph/image_classification_demo)。 - 新增晟腾910 推理支持 [#34101](https://github.com/PaddlePaddle/Paddle/pull/34101) +- 新增pool3d算子支持TensorRT的功能。([#36545](https://github.com/PaddlePaddle/Paddle/pull/36545)) + ### (2)功能优化 #### 框架及API更新 @@ -774,6 +841,7 @@ paddle.int64 - 量化支持 - 动态图量化推理 pass 的重构,支持非模拟量化的 OP和模拟量化的 OP。([#35907](https://github.com/PaddlePaddle/Paddle/pull/35907)) - 增加 int8 的模拟量化OP matmul(权重乘以 tensor的情况)。([#34359](https://github.com/PaddlePaddle/Paddle/pull/34359)) + - 修复MobileNetV3模型在量化训练过程中因量化参数为0导致的Loss出NAN问题。([#36763](https://github.com/PaddlePaddle/Paddle/pull/36763)) - API 增强 @@ -810,16 +878,18 @@ paddle.int64 - 增加TensorRT `qkv_context` plugin 对int8的支持([#34917](https://github.com/PaddlePaddle/Paddle/pull/34917), [#35504](https://github.com/PaddlePaddle/Paddle/pull/35504)) - 增加TensorRT conv3d的支持。([#35507](https://github.com/PaddlePaddle/Paddle/pull/35507)) - 增加对 `multihead_matmul` 融合算子的输入进行广播的支持。([#35780](https://github.com/PaddlePaddle/Paddle/pull/35780)) + - Inference 支持 TensorRT8 稀疏推理,[测试环境](https://github.com/PaddlePaddle/Paddle-Inference-Demo/tree/master/c%2B%2B/sparsity)下,ERNIE 模型变长输入在不同的 batch_size 下性能提升10%-30%,ResNeXt101_32x4d模型在不同的batch_size下性能提升10%。([#36659](https://github.com/PaddlePaddle/Paddle/pull/36659)) - Nvidia Jetson 原生支持能力增强 - 新增 Op 支持,针对Jetson Nano/TX2这两款算力较低的设备,我们做了针对性的优化,目前新增了 `pool2d`, `pool_max`, `conv3d_transpose` 等 17个OP的支持。([#35378](https://github.com/PaddlePaddle/Paddle/pull/35378)) - 针对Jetson Nano,新增模型:DPN68, EfficientNetB0, ttfnet, fcn_hrnetw18, hardnet。([#35378](https://github.com/PaddlePaddle/Paddle/pull/35378)) - 针对Jetson TX2,新增模型:deeplabv3p_resnet50, deeplabv3_resnet50, fcn_hrnetw18, hardnet, pspnet, ttfnet, unet。([#35378](https://github.com/PaddlePaddle/Paddle/pull/35378)) - - 昆仑XPU接口功能扩展 - 新增 `set_xpu_device_id` 接口,支持设置推理时的昆仑芯片的设备号([#35572](https://github.com/PaddlePaddle/Paddle/pull/35572)) +- Inference python `copy_from_cpu`接口加入输入类型检查,错误类型输入下提前报错。([#36552](https://github.com/PaddlePaddle/Paddle/pull/36552)) + ### (3)问题修复 #### 框架及API修复 @@ -842,6 +912,16 @@ paddle.int64 - 修复ernie变长情况下,输入的顺序不一致导致输出不对的问题。([#33575](https://github.com/PaddlePaddle/Paddle/pull/33575)) - 修复多流状态下分配器功能异常的问题。([#32932](https://github.com/PaddlePaddle/Paddle/pull/33575)) +- 修复 ERNIE 模型在 TRT8 下可能出现的崩溃问题。([#36769](https://github.com/PaddlePaddle/Paddle/pull/36769)) +- 修复使用 Pool, Slice 时可能出现的崩溃及精度问题。([#36666](https://github.com/PaddlePaddle/Paddle/pull/36666)) +- 修复 yolo_box op因为计算公式错误导致的精度问题。([#36365](https://github.com/PaddlePaddle/Paddle/pull/36365)) +- 修复量化后的 matmul_v2 在TRT下无法正常推理的问题。([#36821](https://github.com/PaddlePaddle/Paddle/pull/36821)) +- 修复了量化 matmul_v2 时错误地添加量化op的问题。([#36820](https://github.com/PaddlePaddle/Paddle/pull/36820)) +- 修复算子 batch_norm 和 elementwise_add 在3D应用场景下开启 TRT 报错的问题。([#36446](https://github.com/PaddlePaddle/Paddle/pull/36446)) +- 修复高层 linear api保存得到的预测模型无法被 Pass 融合优化的问题。([#36500](https://github.com/PaddlePaddle/Paddle/pull/36500)) +- 修改 MatmulV2ToMul 的 Pass,重新限定 (matmul_v2 to mul) 映射的 Pass,增加 MatmulV2ToMatmul 的 Pass,限定 (matmul_v2 to matmul) 映射的 Pass条件(不支持广播),修改 (matmul, mul) 的 op_teller 映射条件。([#36652](https://github.com/PaddlePaddle/Paddle/pull/36652)) + + #### 后端能力修复 - TensorRT 子图引擎修复 @@ -907,4 +987,5 @@ paddle.int64 This release contains contributions from: -0x45f, 123malin, Adam Osewski, Aganlengzi, Aurelius84, Baibaifan, Bo Liu, CheQiXiao, Chen Long, Chen Weihang, CtfGo, Double\_V, Ethanzjp, Fan Zhang, Feiyu Chan, Feng Xing, From00, GT-Zhang, Guanghua Yu, Guoxia Wang, Haipeng Wang, Hao Lin, Haohongxiang, Hui Zhang, Huihuang Zheng, HydrogenSulfate, IMMORTAL, JYChen, JZ-LIANG, Jacek Czaja, Jack Zhou, Jackwaterveg, Jeng Bai-Cheng, Jiangxinz, Jiaqi Liu, Jiawei Wang, JingZhuangzhuang, June Weng, Kaipeng Deng, Kqnonrime, LJQ❤️, Leo Chen, Li Min, LielinJiang, Lijunhui, Linjie Chen, Liu-xiandong, LiuWei, Ming-Xu Huang, MissPenguin, PaddlePM, Pei Yang, Peihan, Qi Li, QingshuChen, Ren Wei (任卫), Roc, Shang Zhizhou, ShenLiang, Shibo Tao, Siming Dai, Sing\_chan, TCChenLong, TTerror, TeslaZhao, Thomas Young, Thunderbrook, Tongxin Bai, WJJ1995, WangXi, Wangzheee, Wei Shengyu, WeiXin, Weilong Wu, Wenyu, Wilber, XGZhang, XYZ, XYZ916829, XiangGao, Xiaoxu Chen, YUNSHEN XIE, Yanxing Shi, Yiqun Liu, YuanRisheng, Yuang Liu, Yulong Ao, Zeng Jinle, Zhang Ting, Zhang Zheng, Zhanlue Yang, Zhen Wang, Zhong Hui, Zhou Wei, andreazanetti, andyjpaddle, arlesniak, baoachun, cc, ceci3, chajchaj, chenenquan, chenjian, chentianyu03, crystal, cuicheng01, danleifeng, denglin-github, duanboqiang, dyning, feng626, feng_shuai, furnace, gongweibao, heliqi, hlygit66666, hong, hong19860320, houj04, huangjun12, huangxu96, huzhiqiang, iducn, jakpiase, jiangcheng, joanna.wozna.intel, jzhang533, kuizhiqing, levi131, lidanqing, lilong12, limingshu, littletomatodonkey, liu zhengxi, liutiexing, liuyuhui, liym27, lyuwenyu, lzzyzlbb, niuliling123, pangyoki, parap1uie-s, ronnywang, root, seemingwang, shangliang Xu, shiyutang, smallv0221, sunli, sunzhongkai588, taixiurong, tangwei12, tianshuo78520a, veyron95, wangguanqun, wangguanzhong, wanghuancoder, wangna11BD, wangxinxin08, wangzhen38, wangzhuang01, wawltor, wenbin, whs, will-jl944, wuhuachaocoding, wuhuanzhou, xiaoting, xiaoxiaohehe001, xiayanming, xiegegege, xiemoyuan, xiongkun, yaoxuefeng, yeliang2258, yingyibiao, zhangbo9674, zhangchunle, zhangkaihuo, zhaoyingli, zhiboniu, zhoujun, zhouzj, zhulei, zhupengyang, zlsh80826, zmx, zyfncg, 李季, 津, 王明冬, 石晓伟 \ No newline at end of file +0x45f, 123malin, Adam Osewski, Aganlengzi, Aurelius84, Baibaifan, Bo Liu, CheQiXiao, Chen Long, Chen Weihang, CtfGo, Double\_V, Ethanzjp, Fan Zhang, Feiyu Chan, Feng Xing, From00, GT-Zhang, Guanghua Yu, Guoxia Wang, Haipeng Wang, Hao Lin, Haohongxiang, Hui Zhang, Huihuang Zheng, HydrogenSulfate, IMMORTAL, JYChen, JZ-LIANG, Jacek Czaja, Jack Zhou, Jackwaterveg, Jeng Bai-Cheng, Jiangxinz, Jiaqi Liu, Jiawei Wang, JingZhuangzhuang, June Weng, Kaipeng Deng, Kqnonrime, LJQ❤️, Leo Chen, Li Min, LielinJiang, Lijunhui, Linjie Chen, Liu-xiandong, LiuWei, Ming-Xu Huang, MissPenguin, PaddlePM, Pei Yang, Peihan, Qi Li, QingshuChen, Ren Wei (任卫), Roc, Shang Zhizhou, ShenLiang, Shibo Tao, Siming Dai, Sing\_chan, TCChenLong, TTerror, TeslaZhao, Thomas Young, Thunderbrook, Tongxin Bai, WJJ1995, WangXi, Wangzheee, Wei Shengyu, WeiXin, Weilong Wu, Wenyu, Wilber, XGZhang, XYZ, XYZ916829, XiangGao, Xiaoxu Chen, YUNSHEN XIE, Yanxing Shi, Yiqun Liu, YuanRisheng, Yuang Liu, Yulong Ao, Zeng Jinle, Zhang Ting, Zhang Zheng, Zhanlue Yang, Zhen Wang, Zhong Hui, Zhou Wei, andreazanetti, andyjpaddle, arlesniak, baoachun, cc, ceci3, chajchaj, chenenquan, chenjian, chentianyu03, crystal, cuicheng01, danleifeng, denglin-github, duanboqiang, dyning, feng626, feng_shuai, furnace, gongweibao, heliqi, hlygit66666, hong, hong19860320, houj04, huangjun12, huangxu96, huzhiqiang, iducn, jakpiase, jiangcheng, joanna.wozna.intel, jzhang533, kuizhiqing, levi131, lidanqing, lilong12, limingshu, littletomatodonkey, liu zhengxi, liutiexing, liuyuhui, liym27, lyuwenyu, lzzyzlbb, niuliling123, pangyoki, parap1uie-s, ronnywang, root, seemingwang, shangliang Xu, shiyutang, smallv0221, sunli, sunzhongkai588, taixiurong, tangwei12, tianshuo78520a, veyron95, wangguanqun, wangguanzhong, wanghuancoder, wangna11BD, wangxinxin08, wangzhen38, wangzhuang01, wawltor, wenbin, whs, will-jl944, wuhuachaocoding, wuhuanzhou, xiaoting, xiaoxiaohehe001, xiayanming, xiegegege, xiemoyuan, xiongkun, yaoxuefeng, yeliang2258, yingyibiao, zhangbo9674, zhangchunle, zhangkaihuo, zhaoyingli, zhiboniu, zhoujun, zhouzj, zhulei, zhupengyang, zlsh80826, zmx, zyfncg, 李季, 津, 王明冬, 石晓伟 + diff --git a/docs/release_note_en.md b/docs/release_note_en.md index 9848c8de754..a000115a4e7 100644 --- a/docs/release_note_en.md +++ b/docs/release_note_en.md @@ -1,13 +1,13 @@  -# 2.2.0 rc0 Release Note +# Release Note ## **1. Highlights** -We are excited to release the PaddlePaddle Framework V2.2.0-rc0. This version contains the following highlights. +We are excited to release the PaddlePaddle Framework V2.2.0. This version contains the following highlights. ### API -- Added 100+ APIs, including 24 Fourier transform APIs, 14 linear algebra APIs, etc., to better facilitate developing of scientific computing and signal processing models. +- Added 100+ APIs, including 24 Fourier transform APIs, 17 linear algebra APIs, etc., to better facilitate developing of scientific computing and signal processing models. - Added the support for multiple indexing syntax, including ellipsis (...), dimension expansion (None), boolean arrays (Bool Mask), and integer arrays (list and tensor), making it easier to operate on tensor. - Added the `paddle.einsum` API, to express multi-dimensional tensor computation in a more concise way. - Enhanced the dynamic graph mixed precision. Added a way to use half-precision (float16) training for the whole task. The computational efficiency under the main tasks increased by 20%. @@ -289,6 +289,9 @@ paddle.int64 - Add the ``paddle.linalg.multi_dot``, to support the computing of concatenated multiplication of multiple matrices. ([#35224](https://github.com/PaddlePaddle/Paddle/pull/35224)) - Add the ``paddle.linalg.solve``, to support the computing of the solutions of linear equations. ([#35715](https://github.com/PaddlePaddle/Paddle/pull/35715)) - Add the ``paddle.linalg.matrix_power``, to support the power operations on matrices. ([#34667](https://github.com/PaddlePaddle/Paddle/pull/34667)) + - Add `paddle.linalg.eigvalsh` for computing eigenvalues of Hermite Matrix or real symmetric matrices. ([#36680](https://github.com/PaddlePaddle/Paddle/pull/36680)) + - Add `paddle.linalg.eig` for computing eigenvalues and eigenvectors of general square matrices. ([#35674](https://github.com/PaddlePaddle/Paddle/pull/35674)) + - Add `paddle.linalg.qr` for computing QR decomposition of matrices (inverse is not supported yet). ([#36627](https://github.com/PaddlePaddle/Paddle/pull/36627)) - Add new Fourier transform related API ([#35665](https://github.com/PaddlePaddle/Paddle/pull/35665)) - Add fast Fourier transform family functions @@ -313,8 +316,10 @@ paddle.int64 - Add the ``paddle.Model.fit`` and ``paddle.Model.evaluate`` ``num_iters`` parameters in dynamic graph mode to control the number of training iterations. ([#33986](https://github.com/PaddlePaddle/Paddle/pull/33986)) - Add the ``paddle.vision.ops.yolo_box`` parameters ``iou_aware`` and ``iou_aware_factor``, to support YoloBox using predicted IOUs as confidence factors. ([#33400](https://github.com/PaddlePaddle/Paddle/pull/33400)) - Add the ``paddle.summary`` parameter input to support the given ``input``. ([#34165](https://github.com/PaddlePaddle/Paddle/pull/34165)) + - Add `paddle.text.viterbi_decode`, to support Viterbi decoding for CPU and GPU under dynamic graphs. ([#35778](https://github.com/PaddlePaddle/Paddle/pull/35778)) - Add networking class APIs + - Add `paddle.nn.functional.sparse_attention` for computing sparse Transformer Attention modules. ([#35757](https://github.com/PaddlePaddle/Paddle/pull/35757)) - Add the ``paddle.nn.MaxUnPool2D`` and ``paddle.nn.functional.max_unpool2d``, to support the computing of the inverse of the pooling result based on the input and maximum position. ([#35056](https://github.com/PaddlePaddle/Paddle/pull/35056)) - Add the ``paddle.nn.functional.gumbel_softmax``, to support ``gumbel softmax`` sampling. ([#35506](https://github.com/PaddlePaddle/Paddle/pull/35506), [#36065](https://github.com/PaddlePaddle/Paddle/pull/36065), [#36094](https://github.com/PaddlePaddle/Paddle/pull/36094)) - Add the ``paddle.nn.functional.class_center_sample``, to support PartialFC class center sampling. ([#34106](https://github.com/PaddlePaddle/Paddle/pull/34106)) @@ -331,9 +336,14 @@ paddle.int64 - Add the ``paddle.device.cuda.empty_cache``, to support for clearing free GPU memory. ([#35427](https://github.com/PaddlePaddle/Paddle/pull/35427)) - Add the ``paddle.device.cuda.get_device_properties``, to support for returning the given device properties. ([#35875](https://github.com/PaddlePaddle/Paddle/pull/35875)) - Add the ``paddle.device.cuda.stream_guard`` for flexible switching of CUDA Streams under dynamic graphs. ([#35623](https://github.com/PaddlePaddle/Paddle/pull/35623)) + - Add `paddle.device.cuda.get_device_name`, to support returning the name of a given device. ([#36172](https://github.com/PaddlePaddle/Paddle/pull/36172)) + - Add `paddle.device.cuda.get_device_capability`, to support returning version number of the computational capability of a given device. ([#36172](https://github.com/PaddlePaddle/Paddle/pull/36172)) + - Add `paddle.framework.core.async_read` and `paddle.framework.core.async_write`, to support `Tensor` data asynchronous read and write of `CUDAPinnedPlace` and ` CUDAPlace` under non-default CUDA `Stream`. ([#36501](https://github.com/PaddlePaddle/Paddle/pull/36501)) - Add Tensor operation APIs + - Add `paddle.tensordot`, to support Tensor Contraction for high dimension. ([#36454](https://github.com/PaddlePaddle/Paddle/pull/36454)) + - Add `paddle.bincount`, to support counting elements in a one-dimensional tensor. ([#36709](https://github.com/PaddlePaddle/Paddle/pull/36709)) - Add the `paddle.broadcast_tensors`, to support broadcast operations on a set of `Tensors`. ([#33294](https://github.com/PaddlePaddle/Paddle/pull/33294), [#34874](https://github.com/PaddlePaddle/Paddle/pull/34874)) - Add the `paddle.einsum`. ([#33821](https://github.com/PaddlePaddle/Paddle/pull/34874)) - Enhance the ``paddle.tensor.gradient`` interface to support second-order derivative operators for sigmoid_op. ([#32971](https://github.com/PaddlePaddle/Paddle/pull/32971)) @@ -372,6 +382,8 @@ paddle.int64 - Add the ``paddle.static.ExponentialMovingAverage``, to support the computing of the sliding average of parameters with exponential decay. ([#35673](https://github.com/PaddlePaddle/Paddle/pull/35673)) - Add the ``paddle::Tensor::slice`` C++ API, to support the slice operation, and allow users to perform slice operations for the external Tensor. ([#34227](https://github.com/PaddlePaddle/Paddle/pull/34227)) - Add the ``paddle.incubate.segment_*`` series APIs, including ``paddle.incubate.segment_sum``, ``paddle.incubate.segment_mean``, ``paddle.incubate.segment_max``, and ``paddle. incubate.segment_min``. Support the summing, averaging, maximizing, and minimizing of ``Tensor`` by segment. ([#35759](https://github.com/PaddlePaddle/Paddle/pull/35759)) + - Add `paddle.version.cuda` and `paddle.version.cudnn` to get version numbers of `CUDA` and `cuDNN` used by paddle installer. ([#36556](https://github.com/PaddlePaddle/Paddle/pull/36556)) + #### IR(Intermediate Representation) @@ -388,13 +400,15 @@ paddle.int64 - Provide dependent helper functions needed to analyze the control flow in `Program`. ([#33439](https://github.com/PaddlePaddle/Paddle/pull/33439)) - `Program` and `Graph` retain the values of the `stop_gradient` and `persistable` attributes needed for training after converting each other. ([#33771](https://github.com/PaddlePaddle/Paddle/pull/33771)) - `Pass` now supports processing the main `Graph` and all its sub-graphs, while the original `Pass` only processed the main `Graph` and ignored the sub-graphs. ([#34158](https://github.com/PaddlePaddle/Paddle/pull/34158)) - - Handle some topological ordering problems for `Program` and `Graph` inter-conversion in the prediction cases. ([#34121](https://github.com/PaddlePaddle/Paddle/pull/34121), [#34521](https://github.com/PaddlePaddle/Paddle/pull/34521)). **《== ** + - Handle some topological ordering problems for `Program` and `Graph` inter-conversion in the prediction cases. ([#34121](https://github.com/PaddlePaddle/Paddle/pull/34121), [#34521](https://github.com/PaddlePaddle/Paddle/pull/34521)). - Pass development - Add the Pass development for subgraph replacement scenarios such as fusion on the Python side. ([#35708](https://github.com/PaddlePaddle/Paddle/pull/35708), [#35602](https://github.com/PaddlePaddle/Paddle/pull/35602)) - Kernel Primitive API - Abstract and encapsulate the underlying codes in the operator Kernel implementation, to provide high-performance Block-level IO and Compute operations. The Kernel development using the Kernel Primitive API allows you to focus more on the implementation of the computational logic, significantly reducing the amount of codes while ensuring performance, and decoupling operator computation from hardware. ([#34672](https://github.com/PaddlePaddle/Paddle/pull/34672), [#35075](https://github.com/PaddlePaddle/Paddle/pull/35075), [#34456](https://github.com/PaddlePaddle/Paddle/pull/34456), [#35282](https://github.com/PaddlePaddle/Paddle/pull/35282), [#35743](https://github.com/PaddlePaddle/Paddle/pull/35743), [#34208](https://github.com/PaddlePaddle/Paddle/pull/34208)) + - Add a total of 13 monadic and binary computation Functors to the Kernel Primitive API. ([#36418](https://github.com/PaddlePaddle/Paddle/pull/36418)) + - Modify the ReadData implementation in the Kernel Primitive API to fix the NX ! =1 access memory out-of-bound bug. ([#36373](https://github.com/PaddlePaddle/Paddle/pull/36373)) #### **Mixed Precision Training** @@ -513,8 +527,16 @@ paddle.int64 - `paddle.equal`: Add the support for `int`, `float`, and `bool` types for the second input. ([#35695](https://github.com/PaddlePaddle/Paddle/pull/35695)) - ``paddle.io.DataLoader``: Add the support for persistent_worker mode. ([#34017](https://github.com/PaddlePaddle/Paddle/pull/34017)) - Optimize ``l2_normalize``, ``p_norm``, ``elementwise_max``, ``prelu,clip_by_norm``, ``lars optimizer`` operators support the float16 computation. ([#35576](https://github.com/PaddlePaddle/Paddle/pull/35576), [#35888](https://github.com/PaddlePaddle/Paddle/pull/35888), [#35888](https://github.com/PaddlePaddle/Paddle/pull/35888), [35532](https://github.com/PaddlePaddle/Paddle/pull/35532), [#35446](https://github.com/PaddlePaddle/Paddle/pull/35446), [#33280](https://github.com/PaddlePaddle/Paddle/pull/33280)) -- Optimize the reading speed of flowers dataset from several minutes per batch to 1~3 seconds per batch. ([#31408](https://github.com/PaddlePaddle/Paddle/pull/31408)) -- Support the fuse allreduce sum function in `paddle.distributed.fleet.DistributedStrategy` when the `without_graph_optimize` switch is on.In the FP32, the performance increases by 3%. In the AMP, the performance increases by 8%. ([#34446](https://github.com/PaddlePaddle/Paddle/pull/34446)) +- Optimize the reading speed of flowers dataset from several minutes per batch to 1~3 seconds per batch. ([#31408](https://github.com/PaddlePaddle/Paddle/pull/31408)) +- Support the fuse allreduce sum function in `paddle.distributed.fleet.DistributedStrategy` when the `without_graph_optimize` switch is on.In the FP32, the performance increases by 3%. In the AMP, the performance increases by 8%. ([#34446](https://github.com/PaddlePaddle/Paddle/pull/34446)) +- In `paddle.matmul`, switch underlying Op from matmul op to matmul_v2 op. ([#36374](https://github.com/PaddlePaddle/Paddle/pull/36374)) +- In `paddle.fft` module, add mkl_cdft and hipfft two computational backends. ([#36537](https://github.com/PaddlePaddle/Paddle/pull/36537)) +- Parameter `shifts` of `paddle.roll` supports `Tensor` as input. ([#36537](https://github.com/PaddlePaddle/Paddle/pull/36537)) +- `paddle.shape` supports plural type inputs. ([#36835](https://github.com/PaddlePaddle/Paddle/pull/36835)) +- matmul_v2 supports quantization. ([#36469](https://github.com/PaddlePaddle/Paddle/pull/36469)) +- Add `clip_op` support for `float16`. ([#36672](https://github.com/PaddlePaddle/Paddle/pull/36672)) +- In `paddle.fft` module, add cache plan functionality to the cufft backend, optimizing performance. ([#36537](https://github.com/PaddlePaddle/Paddle/pull/36537)) + #### IR(Intermediate Representation) @@ -525,7 +547,9 @@ paddle.int64 - Optimize the logic of dynamic to static training codes, upgrade the internal ``Program`` cache mechanism, and add an advance copy policy for input ``Tensor`` to improve training performance. ([#34181](https://github.com/PaddlePaddle/Paddle/pull/34181), [#33796](https://github.com/PaddlePaddle/Paddle/pull/33796)) - Optimize the internal actuator memory recycling strategy for dynamic to static graphs, reducing the GPU memory usage during training. ([#34177](https://github.com/PaddlePaddle/Paddle/pull/34177)) - Integrate the source codes of ``Gast`` triple dependency library, decoupling version dependencies. ([#34556](https://github.com/PaddlePaddle/Paddle/pull/34556)) - + - Display partial frame level error reporting information in case of dynamic-to-static error reporting. It is easier to locate the problem. ([#36765](https://github.com/PaddlePaddle/Paddle/pull/36765)) + - Remove duplicate temporary file removal function `remove_static_file()` in the dynamic to static error reporting module. ([#36375](https://github.com/PaddlePaddle/Paddle/pull/36375)) + - Optimize processing of `input_specs` parameter in RegisterPass, to support graph optimization as a matching subgraph condition. ([#36453](https://github.com/PaddlePaddle/Paddle/pull/36453)) #### **Distributed training** @@ -539,6 +563,12 @@ paddle.int64 - `paddle.io.Dataset`: Support the dynamic library parsing data. ([#33969](https://github.com/PaddlePaddle/Paddle/pull/33969)) - In the `paddle.distributed.fleet.dataset.DatasetBase`, add the consistency check function for generated data of the `use_var_list` and `pipe_command`. ([#34463](https://github.com/PaddlePaddle/Paddle/pull/34463)) - Add the consistency check between the `emd` dimension of `paddle.fluid.layers.embedding` and `emb` dimension of `sparse table` in `fleet`. ([#34249](https://github.com/PaddlePaddle/Paddle/pull/34249)) + - Dynamic graph hybrid parallel supports for Pure FP16 training. ([#36707](https://github.com/PaddlePaddle/Paddle/pull/36707)) + - Static graph hybrid parallel supports dropout using a fixed random seed generator to ensure consistency of global variables and randomness of local variables in model parallel. ([#36682](https://github.com/PaddlePaddle/Paddle/pull/36682)) + - Implement CPU parallelism and support for adding custom backend parameters when calling spawn or launch. Available backend options are "gloo", "nccl", "bkcl", and "auto", for CPU parallel, GPU parallel, XPU parallel, and automatic selection by Paddle version, respectively. ([#35745](https://github.com/PaddlePaddle/Paddle/pull/35745)) + - Optimize dynamic graph hybrid parallel HybridParallelClipGrad policy, to support 4D hybrid parallel + Pure FP16 training. ([#36707](https://github.com/PaddlePaddle/Paddle/pull/36707)) + - Add SlotRecordDataset class to support GPU parameter server training. ([#36710](https://github.com/PaddlePaddle/Paddle/pull/36710)) + - In the GPU parameter server building phase, support use of SlotRecordDataset. ([#36723](https://github.com/PaddlePaddle/Paddle/pull/36723)) - Static graph hybrid parallel @@ -561,7 +591,15 @@ paddle.int64 - Fix the ``paddle.jit.save`` interface and model pruning logic. It is unnecessary to add an associated ``scale_op`` for output variables, and to properly export models containing outputs of type ``bool`` and ``float16``. ([#35730](https://github.com/PaddlePaddle/Paddle/pull/35730), [#36132](https://github.com/PaddlePaddle/Paddle/pull/36132)) - Custom OP - Remove unnecessary ``cudaStreamSynchronize`` operations from ``paddle::Tensor's`` ``copy`` method, to improve performance. ([#35802](https://github.com/PaddlePaddle/Paddle/pull/35802)) +- Add C++ to support for GeneratePass development registration. The development mode is aligned with Python side. ([#36302](https://github.com/PaddlePaddle/Paddle/pull/36302)) +- Automic SParsity +- Add `paddle.static.sparsity`, to support generating sparse parameters for `n:m` sparse mode. Currently, it only supports static graph ASP training. FP32 and FP16 on A100 are set with `1:2` and `2:4` sparse modes, respectively, to train saved sparse models, which can be used to accelerate inference tasks by calling TensorRT 8 based on the sparse Tensor Core of Ampere architecture. The current version provides a total of 5 APIs: ([#32995](https://github.com/PaddlePaddle/Paddle/pull/32995)、[#33132](https://github.com/PaddlePaddle/Paddle/pull/33132)、[#33558](https://github.com/PaddlePaddle/Paddle/pull/33558)、[#36525](https://github.com/PaddlePaddle/Paddle/pull/36525)) + - `paddle.static.sparsity.calculate_density`: calculates the density of the input Tensor. + - `paddle.static.sparsity.decorate`: wraps the given optimizer as `OptimizerWithSparsityGuarantee`, automatically inserting necessary operations for the ASP workflow when calling `optimizer.minimize()`. + - `paddle.static.sparsity.prune_model`: prunes the parameters of the supported layers in `main_program` based on the mask generator function specified by `mask_algo`. + - `paddle.static.sparsity.set_excluded_layers`: sets the names of the parameters of layers that will not be trimmed. + - `paddle.static.sparsity.reset_excluded_layers`: resets the `excluded_layers` setting corresponding to `main_program`. ### **(3) Performance optimization** @@ -600,6 +638,20 @@ paddle.int64 - Optimize the dynamic graph performance by stripping logic executed only on static graphs from the execution path of dynamic graphs. ([#34024](https://github.com/PaddlePaddle/Paddle/pull/34024)) - For the IR Pass, optimize the capability exposed as a general-purpose capability. Support both single machine and distributed optimization.The performance improves by 3%-5% in GPT mixed parallel scenarios. ([#34955](https://github.com/PaddlePaddle/Paddle/pull/34955), [#35704](https://github.com/PaddlePaddle/Paddle/pull/35704), [#34730](https://github.com/PaddlePaddle/Paddle/pull/34730), [#34524](https://github.com/PaddlePaddle/Paddle/pull/34524)) - Optimize the ctc loss grad computation, increase the speed by ~3x. Correspondingly, the GPU memory usage increases. ([#34729](https://github.com/PaddlePadle/Paddle/pull/34729)) +- transformer encoder Performance Optimization + - Optimization method: add `paddle.incubate.nn.FusedMultiHeadAttention` and `paddle.incubate.nn.FusedFeedForward`. In the implementation, q, k, v gemm fusion and multiple kernel fusion optimization techniques are used to improve performance of the transformer encoder. + - FusedAttention + - Add `paddle.incubate.nn.functional.fused_multi_head_attention`, to support fusion computation of multi-head attention. ([#35905](https://github.com/PaddlePaddle/Paddle/pull/35905) [35903](https://github.com/PaddlePaddle/Paddle/pull/35903) [#36803](https://github.com/PaddlePaddle/Paddle/pull/36803) [#36793](https://github.com/PaddlePaddle/Paddle/pull/36793) [36185](https://github.com/PaddlePaddle/Paddle/pull/36185)) + - Add `paddle.incubate.nn.FusedMultiHeadAttention` for layer networking of the fused multi-head attention. ([#36498](https://github.com/PaddlePaddle/Paddle/pull/36498) ) + - This module uses q, k, v gemm fusion and bias add + dropout + residual add + layer_norm kernel fusion optimization techniques, resulting in 1.08x-1.45x acceleration. + + - FusedFeedForward + - Add `paddle.incubate.nn.functional.fused_feedforward`, to support feedforward fusion computation. ([#36729](https://github.com/PaddlePaddle/Paddle/pull/36729) [#36730](https://github.com/PaddlePaddle/Paddle/pull/36730)) + - Add `paddle.incubate.nn.FusedFeedForward` for layer networking of fused feedforward. ([#36776](https://github.com/PaddlePaddle/Paddle/pull/36776)) + - Performance is improved by about 1.04x~1.22x over pre-optimization. + - Add `paddle.incubate.nn.FusedTransformerEncoderLayer`, to support layer networking by using fused multi-head attention and fused feedforward computation. ([#36776](https://github.com/PaddlePaddle/Paddle/pull/36776)) + + ### **(4) Troubleshooting** @@ -693,12 +745,27 @@ paddle.int64 - Migrate the one_hot operator in ``paddle.nn.functional.dice_loss`` API to the ``one_hot_v2`` operator. ([#35734](https://github.com/PaddlePaddle/Paddle/pull/35734)) - Fix the bug of usage in the static graph mode in ``paddle.summary``. ([#35303](https://github.com/PaddlePaddle/Paddle/pull/35303)) - Fix the multi-card startup bug in ``paddle.Model.prepare`` static graph mode. ([#34311](https://github.com/PaddlePaddle/Paddle/pull/34311)) +- Fix error report of `paddle.nn.functional.cross_entropy` when `weight` is given and `axis` is specified as a legal dimension other than -1. ([#36647](https://github.com/PaddlePaddle/Paddle/pull/36647)) +- Fix a bug with `paddle.utils.dlpack.to_dlpack` that prevents it from encoding multidimensional `Tensor`, and fix a bug with its generated DLPack objects not being shared across deep learning frameworks. ([#36177](https://github.com/PaddlePaddle/Paddle/pull/36177)) +- Fix a bug in the `sample` method using `paddle.distribution.Categorical`, specifically, due to an out-of-bounds array access in the multinomial op's cuda kernel. The bug causes access to values beyond the subscript of the array, causing an error to be reported. ([#36511](https://github.com/PaddlePaddle/Paddle/pull/36511)) +- Fix a bug in the dynamic graph `_BatchNormBase` base class where the default_dtype is modified, resulting in the wrong type of subsequent networking parameters. Affected APIs are `paddle.nn.BatchNorm1D`, `paddle.nn.BatchNorm2D`, ` paddle.nn.BatchNorm3D`, and `paddle.nn.SyncBatchNorm`. The specific reason is that when `get_default_dtype() == 'float16'`, the default parameter data type is modified by `set_default_dtype('float32')`. The parameter type of dynamic graph networking is created by default_dtype. Therefore, when the default parameter type is modified, subsequent networking parameter type is consequently incorrect. ([#36376](https://github.com/PaddlePaddle/Paddle/pull/36376)) +- Fix an exception in `paddle.nn.functional.grid_sample` caused by special input. ([#36625](https://github.com/PaddlePaddle/Paddle/pull/36625)) +- Fix calculation error of `paddle.fft.ffft`, `paddle.fft.ifft`, `paddle.fft.rfft` , `paddle.fft.irfft`, `paddle.fft.hfft`, and `paddle.fft.ihfft` when input ` axis=0`. ([#36537](https://github.com/PaddlePaddle/Paddle/pull/36537)) +- Fix a bug of errors of `paddle.fft.fftshift` and `paddle.fft.ifftshift` under static graphs. ([#36537](https://github.com/PaddlePaddle/Paddle/pull/36537)) +- Fix a bug where `paddle.fft.ifftshift` is not calculated correctly. ([#36835](https://github.com/PaddlePaddle/Paddle/pull/36835)) +- Fix error message prompt for `paddle.nn.functional.pad` in `replicate` mode. ([#36531](https://github.com/PaddlePaddle/Paddle/pull/36531)) + + #### IR(Intermediate Representation) - Dynamic graph to static graph - Fix an abnormal growth of GPU memory under ``paddle.no_grad`` semantics after dynamic to static. ([#35725](https://github.com/PaddlePaddle/Paddle/pull/35725)) - Fix a misidentification and conversion bug in the ``paddle.no_grad`` interface. ([#34136](https://github.com/PaddlePaddle/Paddle/pull/34136)) + - Fix a bug of reporting an error in dynamic to static training when stop_gradient=True is set in the middle of the model in some scenarios. ([#36353](https://github.com/PaddlePaddle/Paddle/pull/36353)) + - Fix a bug of reporting an error when checking the return result in some scenarios where the control flow “if” is converted. ([#36830](https://github.com/PaddlePaddle/Paddle/pull/36830)) + - Fix a bug that the return type changes unexpectedly due to additional dynamic to static aligning in the return length when “ifelse” branch returns unequal results. ([#36565](https://github.com/PaddlePaddle/Paddle/pull/36565)) + - Fix a bug where video memory will keep growing in train mode and no_grad contexts after loading a model via the jit.save/load interface. ([#36463](https://github.com/PaddlePaddle/Paddle/pull/36463)) #### **Distributed training** @@ -733,6 +800,8 @@ paddle.int64 - Fix the GPU parameter server error reported by using non-0 card training. ([#33078](https://github.com/PaddlePaddle/Paddle/pull/33078)) - Fix the bug of the delta score and scale show in the GPU Parameter Server. ([#33492](https://github.com/PaddlePaddle/Paddle/pull/33078), [#33492](https://github.com/PaddlePaddle/Paddle/pull/33492)) - Fix the bug with GPU Parameter Server not merging dense after training, in incorrect g2sum calculation. For data norm, add the optimize op. ([#35029](https://github.com/PaddlePaddle/Paddle/pull/35029)) + - Fix an error reported if the gradient is empty when using the fuse all reduce ops switch. ([#36231](https://github.com/PaddlePaddle/Paddle/pull/36231)) + - Fix a bug with dist_transformer files showing undefined variables. ([#36211](https://github.com/PaddlePaddle/Paddle/pull/36211)) - Dynamic graph hybrid parallel - Fix the precision error in pipeline parallel due to communication asynchronization. [#35556](https://github.com/PaddlePaddle/Paddle/pull/35556) @@ -774,6 +843,7 @@ paddle.int64 - Add native support for Ascend series hardware - sub-graphs are accessed to ascend310 hardware [#35226](https://github.com/PaddlePaddle/Paddle/pull/35226) by supporting Paddle-Lite NNAdapter. For the example, see the [demo](https://github.com/PaddlePaddle/Paddle-Inference-Demo/tree/master/c%2B%2B/ascend310_lite_subgraph/image_classification_demo). - New Ascend 910 inference support [#34101](https://github.com/PaddlePaddle/Paddle/pull/34101) +- Add pool3d OP to support for TensorRT. ([#36545](https://github.com/PaddlePaddle/Paddle/pull/36545)) ### **(2) Function optimization** @@ -782,7 +852,7 @@ paddle.int64 - Quantification support - Refactor dynamic graph quantization inference pass, to support non-analog quantization OP and analog quantization OP. ([#35907](https://github.com/PaddlePaddle/Paddle/pull/35907)) - Add int8 for analog quantized OP matmul (the case where weights are multiplied by tensor). ([#34359](https://github.com/PaddlePaddle/Paddle/pull/34359)) - + - Fix a bug that MobileNetV3 model "Loss” out of NAN during quantization training due to the quantization parameter being 0. ([#36763](https://github.com/PaddlePaddle/Paddle/pull/36763)) - API enhancements - Refactor GO API based on new version of CAPI, [#33113](https://github.com/PaddlePaddle/Paddle/pull/33113). For the example, see the [demo](https://github.com/PaddlePaddle/Paddle-Inference-Demo/tree/master/go/resnet50). @@ -818,6 +888,7 @@ paddle.int64 - Add support for int8 in TensorRT `qkv_context` plugin ([#34917](https://github.com/PaddlePaddle/Paddle/pull/34917), [#35504](https://github.com/PaddlePaddle/Paddle/pull/35504)) - Add support for TensorRT conv3d. ([#35507](https://github.com/PaddlePaddle/Paddle/pull/35507)) - Add support for broadcasting the input of the `multihead_matmul` fusion operator. ([#35780](https://github.com/PaddlePaddle/Paddle/pull/35780)) + - Inference supports for TensorRT8 sparse inference, with performance improved by 10%-30% for ERNIE model with variable-length input at different batch_sizes, and performance improved by 10% for ResNeXt101_32x4d model at different batch_sizes under test environment. ([#36659](https://github.com/PaddlePaddle/Paddle/pull/36659)) - Nvidia Jetson native support enhancements - Add the Op support, for the Jetson Nano/TX2, two devices with lower arithmetic power. We made targeted optimizations. Now add the support for 17 OPs such as `pool2d`, `pool_max`, `conv3d_transpose`, etc. ([#35378](https://github.com/PaddlePaddle/Paddle/pull/35378)) @@ -827,6 +898,7 @@ paddle.int64 - Kunlun XPU interface feature extensions - Add the `set_xpu_device_id` interface to support setting the device number of the Kunlun chip in the inference ([#35572](https://github.com/PaddlePaddle/Paddle/pull/35572)) +- In Inference python `copy_from_cpu` interface, add input type check. Report errors in advance for wrong type inputs. ([#36552](https://github.com/PaddlePaddle/Paddle/pull/36552)) ### **(3) Troubleshooting** @@ -849,6 +921,14 @@ paddle.int64 - Fix a possible accuracy bug in the running of the ernie model FP16 with precision. ([#34771](https://github.com/PaddlePaddle/Paddle/pull/34711)) - Fix the incorrect output bug due to an inconsistent order of inputs when the ernie becomes longer. ([#33575](https://github.com/PaddlePaddle/Paddle/pull/33575)) - Fix a bug where the allocator function is abnormal in multi-stream state. ([#32932](https://github.com/PaddlePaddle/Paddle/pull/33575)) +- Fix a possible crash bug of ERNIE model under TRT8. ([#36769](https://github.com/PaddlePaddle/Paddle/pull/36769)) +- Fix a bug of crash and accuracy when Pool and Slice are used. ([#36666](https://github.com/PaddlePaddle/Paddle/pull/36666)) +- Fix an accuracy bug of yolo_box op caused by a wrong formula. ([#36365](https://github.com/PaddlePaddle/Paddle/pull/36365)) +- Fix a bug where quantized matmul_v2 does not infer properly under TRT. ([#36821](https://github.com/PaddlePaddle/Paddle/pull/36821)) +- Fix a bug where quantized op is incorrectly added when quantizing matmul_v2. ([#36820](https://github.com/PaddlePaddle/Paddle/pull/36820)) +- Fix a bug with the operators batch_norm and elementwise_add reporting an error when TRT is enabled in 3D application scenarios. ([#36446](https://github.com/PaddlePaddle/Paddle/pull/36446)) +- Fix a bug where the prediction model saved by the high-level linear api cannot not be optimized by Pass fusion. ([#36500](https://github.com/PaddlePaddle/Paddle/pull/36500)) +- Fix the Pass of MatmulV2ToMul, re-qualify (matmul_v2 to mul) mapping pass, add Pass of MatmulV2ToMatmul, qualify (matmul_v2 to matmul) mapping pass condition (not supporting broadcast), and modify (matmul, mul) op_teller mapping condition. ([#36652](https://github.com/PaddlePaddle/Paddle/pull/36652) #### **Back-end capability fixing** From 9b04c62bfc00d2ec1e5be3822b4be283ff1aba4b Mon Sep 17 00:00:00 2001 From: TCChenlong <1300851984@qq.com> Date: Thu, 11 Nov 2021 12:24:13 +0800 Subject: [PATCH 2/5] update docs --- .../basic_concept/amp_cn.md | 591 ++++++------------ .../basic_concept/amp_en.md | 584 ++++++----------- docs/install/docker/fromdocker.rst | 1 - docs/install/docker/fromdocker_en.rst | 1 - 4 files changed, 356 insertions(+), 821 deletions(-) diff --git a/docs/guides/01_paddle2.0_introduction/basic_concept/amp_cn.md b/docs/guides/01_paddle2.0_introduction/basic_concept/amp_cn.md index d22e2d19f7f..646e01ecd37 100644 --- a/docs/guides/01_paddle2.0_introduction/basic_concept/amp_cn.md +++ b/docs/guides/01_paddle2.0_introduction/basic_concept/amp_cn.md @@ -1,515 +1,286 @@ -```python -import paddle -from paddle.vision.models import vgg11 -import paddle.nn.functional as F -import numpy as np - -print(paddle.__version__) -``` - - 2.2.0 - - - -```python -model = vgg11() - -x = paddle.rand([1,3,224,224]) -label = paddle.randint(0,1000) -``` - - W1111 00:45:40.487871 104 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 10.1, Runtime API Version: 10.1 - W1111 00:45:40.493650 104 device_context.cc:465] device: 0, cuDNN Version: 7.6. - - +# 自动混合精度训练 -```python -predicts = model(x) -``` +一般情况下,训练深度学习模型时使用的数据类型为单精度(FP32)。2018年,百度与NVIDIA联合发表论文:[MIXED PRECISION TRAINING](https://arxiv.org/pdf/1710.03740.pdf),提出了混合精度训练的方法。混合精度训练是指在训练过程中,同时使用单精度(FP32)和半精度(FP16),其目的是相较于使用单精度(FP32)训练模型,在保持精度持平的条件下,能够加速训练。本文将介绍如何使用飞桨框架,实现自动混合精度训练。 +## 一、半精度浮点类型 FP16 -```python -loss = F.cross_entropy(predicts, label) -``` +首先介绍半精度(FP16)。如图1所示,半精度(FP16)是一种相对较新的浮点类型,在计算机中使用2字节(16位)存储。在IEEE 754-2008标准中,它亦被称作binary16。与计算中常用的单精度(FP32)和双精度(FP64)类型相比,FP16更适于在精度要求不高的场景中使用。 +
+ missing +
图 1. 半精度和单精度数据示意图
+
-```python -loss.backward() -``` - +## 二、NVIDIA GPU的FP16算力 +在使用相同的超参数下,混合精度训练使用半精度浮点(FP16)和单精度(FP32)浮点即可达到与使用纯单精度训练相同的准确率,并可加速模型的训练速度。这主要得益于英伟达推出的Volta及Turing架构GPU在使用FP16计算时具有如下特点: +- FP16可降低一半的内存带宽和存储需求,这使得在相同的硬件条件下研究人员可使用更大更复杂的模型以及更大的batch size大小。 +- FP16可以充分利用英伟达Volta及Turing架构GPU提供的Tensor Cores技术。在相同的GPU硬件上,Tensor Cores的FP16计算吞吐量是FP32的8倍。 -```python -optim = paddle.optimizer.Adam(learning_rate=0.001, parameters=model.parameters()) -``` +## 三、使用飞桨框架实现自动混合精度 +使用飞桨框架提供的API,``paddle.amp.auto_cast`` 和 ``paddle.amp.decorate`` 和 ``paddle.amp.GradScaler`` 能够实现自动混合精度训练(Automatic Mixed Precision,AMP),即在相关OP的计算中,根据一定的规则,自动选择FP16或FP32计算。飞桨的AMP为用户提供了两种模式: +- level=’O1‘:采用黑名名单策略的混合精度训练,使用FP16与FP32进行计算的OP列表可见该[文档](https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/amp/Overview_cn.html)。 +- level=’O2‘:纯FP16训练,除用户自定义黑名单中指定的OP和不支持FP16计算的OP之外,全部使用FP16计算。 +下面来看一个具体的例子,来了解如果使用飞桨框架实现混合精度训练。 -```python -optim.step() -``` +### 3.1 辅助函数 +首先定义辅助函数,用来计算训练时间。 ```python -import paddle - -a = paddle.to_tensor([1.0, 2.0, 3.0]) -b = paddle.to_tensor([1.0, 2.0, 3.0], stop_gradient=False) # 将b设置为需要计算梯度的属性 -print(a.stop_gradient) -print(b.stop_gradient) -``` +import time - True - False +# 开始时间 +start_time = None +def start_timer(): + # 获取开始时间 + global start_time + start_time = time.time() - -```python -a.stop_gradient = False -print(a.stop_gradient) +def end_timer_and_print(msg): + # 打印信息并输出训练时间 + end_time = time.time() + print("\n" + msg) + print("共计耗时 = {:.3f} sec".format(end_time - start_time)) ``` - False +### 3.2 构建一个简单的网络 +构建一个简单的网络,用于对比使用普通方法进行训练与使用混合精度训练的训练速度。该网络由三层 ``Linear`` 组成,其中前两层 ``Linear`` 后接 ``ReLU`` 激活函数。 ```python import paddle +import paddle.nn as nn -x = paddle.to_tensor([1.0, 2.0, 3.0], stop_gradient=False) -y = paddle.to_tensor([4.0, 5.0, 6.0], stop_gradient=False) -z = x ** 2 + 4 * y -``` - - -```python -z.backward() -print("Tensor x's grad is: {}".format(x.grad)) -print("Tensor y's grad is: {}".format(y.grad)) -``` - - Tensor x's grad is: Tensor(shape=[3], dtype=float32, place=CUDAPlace(0), stop_gradient=False, - [2., 4., 6.]) - Tensor y's grad is: Tensor(shape=[3], dtype=float32, place=CUDAPlace(0), stop_gradient=False, - [4., 4., 4.]) +class SimpleNet(nn.Layer): + def __init__(self, input_size, output_size): + + super(SimpleNet, self).__init__() + self.linear1 = nn.Linear(input_size, output_size) + self.relu1 = nn.ReLU() + self.linear2 = nn.Linear(input_size, output_size) + self.relu2 = nn.ReLU() + self.linear3 = nn.Linear(input_size, output_size) + def forward(self, x): -```python -import paddle + x = self.linear1(x) + x = self.relu1(x) + x = self.linear2(x) + x = self.relu2(x) + x = self.linear3(x) -x = paddle.to_tensor([1.0, 2.0, 3.0], stop_gradient=False) -y = x + 3 -y.backward(retain_graph=True) # 设置retain_graph为True,保留反向计算图 -print("Tensor x's grad is: {}".format(x.grad)) + return x ``` - Tensor x's grad is: Tensor(shape=[3], dtype=float32, place=CUDAPlace(0), stop_gradient=False, - [1., 1., 1.]) - +设置训练的相关参数,这里为了能有效的看出混合精度训练对于训练速度的提升,将 ``input_size`` 与 ``output_size`` 的值设为较大的值,为了使用GPU 提供的``Tensor Core`` 性能,还需将 ``batch_size`` 设置为 8 的倍数。 ```python -import paddle -import numpy as np - -x = np.ones([2, 2], np.float32) -inputs2 = [] - -for _ in range(10): - tmp = paddle.to_tensor(x) - tmp.stop_gradient = False - inputs2.append(tmp) +epochs = 5 +input_size = 4096 # 设为较大的值 +output_size = 4096 # 设为较大的值 +batch_size = 512 # batch_size 为8的倍数 +nums_batch = 50 -ret2 = paddle.add_n(inputs2) -loss2 = paddle.sum(ret2) +train_data = [paddle.randn((batch_size, input_size)) for _ in range(nums_batch)] +labels = [paddle.randn((batch_size, output_size)) for _ in range(nums_batch)] -loss2.backward() -print("Before clear {}".format(loss2.gradient())) - -loss2.clear_grad() -print("After clear {}".format(loss2.gradient())) +mse = paddle.nn.MSELoss() ``` - Before clear [1.] - After clear [0.] - - - -```python -import paddle - -a = paddle.to_tensor(2.0, stop_gradient=False) -b = paddle.to_tensor(5.0, stop_gradient=True) -c = a * b -c.backward() -print("Tensor a's grad is: {}".format(a.grad)) -print("Tensor b's grad is: {}".format(b.grad)) -``` + W1110 18:42:02.362493 104 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 10.1, Runtime API Version: 10.1 + W1110 18:42:02.367755 104 device_context.cc:465] device: 0, cuDNN Version: 7.6. - Tensor a's grad is: Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, - [5.]) - Tensor b's grad is: None +### 3.3 使用默认的训练方式进行训练 ```python +model = SimpleNet(input_size, output_size) # 定义模型 -import paddle +optimizer = paddle.optimizer.SGD(learning_rate=0.0001, parameters=model.parameters()) # 定义优化器 -a = paddle.to_tensor(2.0, stop_gradient=False) -b = paddle.to_tensor(5.0, stop_gradient=False) -c = a * b -d = paddle.to_tensor(4.0, stop_gradient=False) -e = c * d -e.backward() -print("Tensor a's grad is: {}".format(a.grad)) -print("Tensor b's grad is: {}".format(b.grad)) -print("Tensor c's grad is: {}".format(c.grad)) -print("Tensor d's grad is: {}".format(d.grad)) -``` +start_timer() # 获取训练开始时间 - Tensor a's grad is: Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, - [20.]) - Tensor b's grad is: Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, - [8.]) - Tensor c's grad is: Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, - [4.]) - Tensor d's grad is: Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, - [10.]) +for epoch in range(epochs): + datas = zip(train_data, labels) + for i, (data, label) in enumerate(datas): + output = model(data) + loss = mse(output, label) + # 反向传播 + loss.backward() -```python -class Model(paddle.nn.Layer): + # 训练模型 + optimizer.step() + optimizer.clear_grad() - def __init__(self): - super(Model, self).__init__() - self.flatten = paddle.nn.Flatten() - - def forward(self, inputs): - y = self.flatten(inputs) - return y +print(loss) +end_timer_and_print("默认耗时:") # 获取结束时间并打印相关信息 ``` + Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, + [1.24519622]) + + 默认耗时: + 共计耗时 = 2.926 sec -```python -model = Model() -print(model.sublayers()) - -print("----------------------") - -for item in model.named_sublayers(): - print(item) -``` - [Flatten()] - ---------------------- - ('flatten', Flatten()) +### 3.4 使用AMP训练模型 +在飞桨框架中,使用自动混合精度训练,需要进行四个步骤: +- Step1: 定义 ``GradScaler`` ,用于缩放 ``loss`` 比例,避免浮点数下溢 +- Step2: 使用 ``decorate`` 在level=’O1‘模式下不做任何处理,无需调用该api,在level=’O2‘模式下,将网络参数从FP32转换为FP16 +- Step3: 使用 ``auto_cast`` 用于创建AMP上下文环境,该上下文中自动会确定每个OP的输入数据类型(FP16或FP32) +- Step4: 使用 Step1中定义的 ``GradScaler`` 完成 ``loss`` 的缩放,用缩放后的 ``loss`` 进行反向传播,完成训练 -```python -fc = paddle.nn.Linear(10, 3) -model.add_sublayer("fc", fc) -print(model.sublayers()) -``` - - [Flatten(), Linear(in_features=10, out_features=3, dtype=float32)] +采用level=’O1‘模式训练: ```python -def function(layer): - print(layer) - -model.apply(function) -``` - - Flatten() - Linear(in_features=10, out_features=3, dtype=float32) - Model( - (flatten): Flatten() - (fc): Linear(in_features=10, out_features=3, dtype=float32) - ) +model = SimpleNet(input_size, output_size) # 定义模型 +optimizer = paddle.optimizer.SGD(learning_rate=0.0001, parameters=model.parameters()) # 定义优化器 +# Step1:定义 GradScaler,用于缩放loss比例,避免浮点数溢出 +scaler = paddle.amp.GradScaler(init_loss_scaling=1024) +start_timer() # 获取训练开始时间 +for epoch in range(epochs): + datas = zip(train_data, labels) + for i, (data, label) in enumerate(datas): - Model( - (flatten): Flatten() - (fc): Linear(in_features=10, out_features=3, dtype=float32) - ) + # Step2:创建AMP上下文环境,开启自动混合精度训练 + with paddle.amp.auto_cast(): + output = model(data) + loss = mse(output, label) + # Step3:使用 Step1中定义的 GradScaler 完成 loss 的缩放,用缩放后的 loss 进行反向传播 + scaled = scaler.scale(loss) + scaled.backward() + # 训练模型 + scaler.minimize(optimizer, scaled) + optimizer.clear_grad() - -```python -sublayer_iter = model.children() -for sublayer in sublayer_iter: - print(sublayer) +print(loss) +end_timer_and_print("使用AMP-O1模式耗时:") ``` - Flatten() - Linear(in_features=10, out_features=3, dtype=float32) - - - -```python -class Model(paddle.nn.Layer): + Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, + [1.24815702]) + + 使用AMP-O1模式耗时: + 共计耗时 = 1.294 sec - def __init__(self): - super(Model, self).__init__() - img = self.create_parameter([1,3,256,256]) - self.add_parameter("img", img) - self.flatten = paddle.nn.Flatten() - def forward(self): - y = self.flatten(self.img) - return y -``` +采用level=’O2‘模式训练: ```python -model = Model() -model.parameters() -print("----------------------------------------------------------------------------------") -for item in model.named_parameters(): - print(item) -``` - - ---------------------------------------------------------------------------------- - ('img', Parameter containing: - Tensor(shape=[1, 3, 256, 256], dtype=float32, place=CUDAPlace(0), stop_gradient=False, - [[[[ 0.00330893, 0.00146855, -0.00315564, ..., -0.00037254, - -0.00398024, 0.00175103], - [-0.00269739, 0.00015307, 0.00215079, ..., 0.00083044, - 0.00433949, 0.00183416], - [ 0.00124980, 0.00066814, -0.00296695, ..., -0.00166787, - -0.00208646, 0.00066172], - ..., - [ 0.00118238, -0.00020917, -0.00211811, ..., 0.00341913, - 0.00110805, -0.00007380], - [-0.00283090, 0.00450932, -0.00027968, ..., 0.00141592, - 0.00147790, -0.00163899], - [ 0.00473807, 0.00005514, 0.00163972, ..., -0.00105391, - 0.00130420, -0.00455226]], - - [[ 0.00370526, -0.00421996, -0.00161209, ..., 0.00098369, - -0.00364983, 0.00031144], - [ 0.00173886, 0.00339773, 0.00141036, ..., 0.00346697, - 0.00417612, 0.00012173], - [ 0.00120599, 0.00061922, -0.00084213, ..., -0.00172405, - 0.00378877, -0.00097374], - ..., - [-0.00322239, 0.00413360, 0.00473170, ..., 0.00415691, - 0.00108459, -0.00351989], - [-0.00416756, 0.00164984, 0.00244981, ..., 0.00053153, - -0.00464938, 0.00450330], - [-0.00406198, -0.00193215, -0.00431253, ..., -0.00257889, - -0.00165101, -0.00138488]], - - [[ 0.00441089, 0.00360072, 0.00199083, ..., -0.00120336, - 0.00208172, 0.00016561], - [ 0.00456772, -0.00385161, 0.00081078, ..., -0.00298249, - -0.00269728, -0.00413104], - [ 0.00370318, 0.00103516, 0.00258130, ..., -0.00003251, - -0.00032389, -0.00006440], - ..., - [-0.00348314, -0.00025856, -0.00374935, ..., -0.00344840, - 0.00243370, -0.00292505], - [ 0.00477740, 0.00388781, -0.00466578, ..., 0.00121291, - 0.00004315, -0.00295597], - [ 0.00455716, 0.00302863, 0.00055869, ..., 0.00052850, - 0.00218663, 0.00267356]]]])) +model = SimpleNet(input_size, output_size) # 定义模型 +optimizer = paddle.optimizer.SGD(learning_rate=0.0001, parameters=model.parameters()) # 定义优化器 +# Step1:定义 GradScaler,用于缩放loss比例,避免浮点数溢出 +scaler = paddle.amp.GradScaler(init_loss_scaling=1024) -```python -model = Model() -out = model() -out.backward() -model.clear_gradients() -``` +# Step2:在level=’O2‘模式下,将网络参数从FP32转换为FP16 +model, optimizer = paddle.amp.decorate(models=model, optimizers=optimizer, level='O2', master_weight=None, save_dtype=None) +start_timer() # 获取训练开始时间 -```python -class Model(paddle.nn.Layer): - - def __init__(self): - super(Model, self).__init__() - self.saved_tensor = self.create_tensor(name="saved_tensor0") - self.flatten = paddle.nn.Flatten() - self.fc = paddle.nn.Linear(10, 100) - - def forward(self, input): - y = self.flatten(input) - # Save intermediate tensor - paddle.assign(y, self.saved_tensor) - y = self.fc(y) - return y -``` +for epoch in range(epochs): + datas = zip(train_data, labels) + for i, (data, label) in enumerate(datas): + # Step3:创建AMP上下文环境,开启自动混合精度训练 + with paddle.amp.auto_cast(enable=True, custom_white_list=None, custom_black_list=None, level='O2'): + output = model(data) + loss = mse(output, label) -```python -class Model(paddle.nn.Layer): - - def __init__(self): - super(Model, self).__init__() - saved_tensor = self.create_tensor(name="saved_tensor0") - self.register_buffer("saved_tensor", saved_tensor, persistable=True) - self.flatten = paddle.nn.Flatten() - self.fc = paddle.nn.Linear(10, 100) - - def forward(self, input): - y = self.flatten(input) - # Save intermediate tensor - paddle.assign(y, self.saved_tensor) - y = self.fc(y) - return y -``` + # Step4:使用 Step1中定义的 GradScaler 完成 loss 的缩放,用缩放后的 loss 进行反向传播 + scaled = scaler.scale(loss) + scaled.backward() + # 训练模型 + scaler.minimize(optimizer, scaled) + optimizer.clear_grad() -```python -model = Model() -print(model.buffers()) -for item in model.named_buffers():class Model(paddle.nn.Layer): - - def __init__(self): - super(Model, self).__init__() - self.flatten = paddle.nn.Flatten() - - def forward(self, inputs): - y = self.flatten(inputs) - return y - print(item) +print(loss) +end_timer_and_print("使用AMP-O2模式耗时:") ``` + in ParamBase copy_to func + in ParamBase copy_to func + in ParamBase copy_to func + in ParamBase copy_to func + in ParamBase copy_to func + in ParamBase copy_to func + Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, + [1.25423336]) + + 使用AMP-O2模式耗时: + 共计耗时 = 0.890 sec - File "/tmp/ipykernel_104/851298997.py", line 3 - for item in model.named_buffers():class Model(paddle.nn.Layer): - ^ - SyntaxError: invalid syntax - - - - -```python -class Model(paddle.nn.Layer): - def __init__(self): - super(Model, self).__init__() - self.flatten = paddle.nn.Flatten() +## 四、进阶用法 +### 4.1 使用梯度累加 +梯度累加是指在模型训练过程中,训练一个batch的数据得到梯度后,不立即用该梯度更新模型参数,而是继续下一个batch数据的训练,得到梯度后继续循环,多次循环后梯度不断累加,直至达到一定次数后,用累加的梯度更新参数,这样可以起到变相扩大 batch_size 的作用。 - def forward(self, inputs): - y = self.flatten(inputs) - return y -``` +在自动混合精度训练中,也支持梯度累加,使用方式如下: ```python -x = paddle.randn([10, 1], 'float32') -model = Model() -model.eval() # set model to eval mode -out = model(x) -model.train() # set model to train mode -out = model(x) -``` +model = SimpleNet(input_size, output_size) # 定义模型 +optimizer = paddle.optimizer.SGD(learning_rate=0.0001, parameters=model.parameters()) # 定义优化器 -```python -model = Model() -x = paddle.randn([10, 1], 'float32') -out = model(x) -print(out) -``` +accumulate_batchs_num = 10 # 梯度累加中 batch 的数量 - Tensor(shape=[10, 1], dtype=float32, place=CUDAPlace(0), stop_gradient=True, - [[-0.12737122], - [-0.57012707], - [-0.70294005], - [ 0.14529558], - [ 0.50616348], - [-0.96126020], - [ 0.51200545], - [ 2.64334464], - [ 1.11839330], - [ 0.61924362]]) +# 定义 GradScaler +scaler = paddle.amp.GradScaler(init_loss_scaling=1024) +start_timer() # 获取训练开始时间 +for epoch in range(epochs): + datas = zip(train_data, labels) + for i, (data, label) in enumerate(datas): -```python -def forward_post_hook(layer, input, output): - return 2*output - -x = paddle.ones([10, 1], 'float32') -model = Model() -forward_post_hook_handle = model.flatten.register_forward_post_hook(forward_post_hook) -out = model(x) -print(out) -``` - - Tensor(shape=[10, 1], dtype=float32, place=CUDAPlace(0), stop_gradient=True, - [[2.], - [2.], - [2.], - [2.], - [2.], - [2.], - [2.], - [2.], - [2.], - [2.]]) + # 创建AMP上下文环境,开启自动混合精度训练 + with paddle.amp.auto_cast(): + output = model(data) + loss = mse(output, label) + # 使用 GradScaler 完成 loss 的缩放,用缩放后的 loss 进行反向传播 + scaled = scaler.scale(loss) + scaled.backward() + # 当累计的 batch 为 accumulate_batchs_num 时,更新模型参数 + if (i + 1) % accumulate_batchs_num == 0: -```python -def forward_pre_hook(layer, input, output): - return 2*output + # 训练模型 + scaler.minimize(optimizer, scaled) + optimizer.clear_grad() -x = paddle.ones([10, 1], 'float32') -model = Model() -forward_pre_hook_handle = model.flatten.register_forward_pre_hook(forward_pre_hook) -out = model(x) +print(loss) +end_timer_and_print("使用AMP模式耗时:") ``` - - --------------------------------------------------------------------------- - - TypeError Traceback (most recent call last) - - /tmp/ipykernel_104/1696797913.py in - 5 model = Model() - 6 forward_pre_hook_handle = model.flatten.register_forward_pre_hook(forward_pre_hook) - ----> 7 out = model(x) + Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, + [1.25602019]) + 使用AMP模式耗时: + 共计耗时 = 1.026 sec - /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py in __call__(self, *inputs, **kwargs) - 912 self._built = True - 913 - --> 914 outputs = self.forward(*inputs, **kwargs) - 915 - 916 for forward_post_hook in self._forward_post_hooks.values(): - - - /tmp/ipykernel_104/2161125479.py in forward(self, inputs) - 6 - 7 def forward(self, inputs): - ----> 8 y = self.flatten(inputs) - 9 return y - - - /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py in __call__(self, *inputs, **kwargs) - 892 with param_guard(self._parameters), param_guard(self._buffers): - 893 for forward_pre_hook in self._forward_pre_hooks.values(): - --> 894 hook_result = forward_pre_hook(self, inputs) - 895 if hook_result is not None: - 896 if not isinstance(hook_result, tuple): - - TypeError: forward_pre_hook() missing 1 required positional argument: 'output' - - - -```python - -``` +## 五、总结 +从上面的示例中可以看出,使用自动混合精度训练,O1模式共计耗时约 1.294s,O2模式共计耗时约 0.890s,而普通的训练方式则耗时 2.926s,O1模式训练速度提升约为 2.1倍,O2模式训练速度提升约为 3.0倍。如需更多使用混合精度训练的示例,请参考飞桨模型库: [paddlepaddle/models](https://github.com/PaddlePaddle/models)。 diff --git a/docs/guides/01_paddle2.0_introduction/basic_concept/amp_en.md b/docs/guides/01_paddle2.0_introduction/basic_concept/amp_en.md index d22e2d19f7f..6c5f15edfae 100644 --- a/docs/guides/01_paddle2.0_introduction/basic_concept/amp_en.md +++ b/docs/guides/01_paddle2.0_introduction/basic_concept/amp_en.md @@ -1,515 +1,281 @@ -```python -import paddle -from paddle.vision.models import vgg11 -import paddle.nn.functional as F -import numpy as np +# Automatic Mixed Precision Training -print(paddle.__version__) -``` +In general, the datatype of training deep learning models is single-precision floating-point format(also called FP32). In 2018, Baidu and NVIDIA jointly published the paper: [MIXED PRECISION TRAINING](https://arxiv.org/pdf/1710.03740.pdf), which proposed mixed precision training. During the process of training, some operators use FP32 and other operators use half precision(also called FP16) in the same time. Its purpose is to speed up training, while compared with the FP32 training model, the same accuracy is maintained. This tutorial will introduce how to use automatic mixed precision training with PaddlePaddle. - 2.2.0 +## 1. Half Precision (FP16) +First introduce FP16. As shown in Figure 1, FP16 occupies 16 bits (two bytes in modern computers) of computer memory. In the IEEE 754-2008 standard, it is also named binary16. Compared with FP32 and double precision (also called FP64) commonly used, FP16 is more suitable for the usage in scenarios with low precision requirements. +
+ missing +
Figure 1. Half precision(FP16) and single precision(FP32)
+
-```python -model = vgg11() +## 2. FP16 Computing Power of NVIDIA GPU -x = paddle.rand([1,3,224,224]) -label = paddle.randint(0,1000) -``` - - W1111 00:45:40.487871 104 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 10.1, Runtime API Version: 10.1 - W1111 00:45:40.493650 104 device_context.cc:465] device: 0, cuDNN Version: 7.6. +When the same hyperparameters are used, mixed precision training using FP16 and FP32 can achieve the same accuracy as that of pure single precision used, and can accelerate the training speed. It mainly attributes to the features that NVIDIA Volta and NVIDIA Turing use FP16 to calculate: +- FP16 can reduce memory bandwidth and storage requirements by half, which allows researchers to use more complex models and larger batch sizes under the same hardware conditions. +- FP16 can make full use of Tensor Cores technology provided by NVIDIA Volta and NVIDIA Turing. On the same GPU hardware, the computing throughput of Tensor Cores' FP16 is 8 times bigger than that of FP32. +## 3. Automatic Mixed Precision Training with PaddlePaddle +Using PaddlePaddle's API ``paddle.amp.auto_cast`` and ``paddle.amp.GradScaler`` can realize automatic mixed precision training (AMP), which can automatically choose FP16 or FP32 for different operators' calculation. After the AMP mode is turned on, the operator list calculated by FP16 and FP32 can be found in this [document](https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/amp/Overview_cn.html). This is a specific example to understand how to use PaddlePaddle to achieve mixed precision training. -```python -predicts = model(x) -``` +### 3.1 Auxiliary Function +First define the auxiliary function to calculate the training time. ```python -loss = F.cross_entropy(predicts, label) -``` +import time +# start time +start_time = None -```python -loss.backward() -``` +def start_timer(): + # get start time + global start_time + start_time = time.time() - -```python -optim = paddle.optimizer.Adam(learning_rate=0.001, parameters=model.parameters()) +def end_timer_and_print(msg): + # print message and total training time + end_time = time.time() + print("\n" + msg) + print("total time = {:.3f} sec".format(end_time - start_time)) ``` +### 3.2 A Simple Network -```python -optim.step() -``` +Define a simple network to compare the training speed of common methods and mixed precision. The network is composed of three layers of ``Linear``. The first two layers of ``Linear`` are followed by the ``ReLU`` activation function. ```python import paddle +import paddle.nn as nn -a = paddle.to_tensor([1.0, 2.0, 3.0]) -b = paddle.to_tensor([1.0, 2.0, 3.0], stop_gradient=False) # 将b设置为需要计算梯度的属性 -print(a.stop_gradient) -print(b.stop_gradient) -``` +class SimpleNet(nn.Layer): - True - False + def __init__(self, input_size, output_size): + + super(SimpleNet, self).__init__() + self.linear1 = nn.Linear(input_size, output_size) + self.relu1 = nn.ReLU() + self.linear2 = nn.Linear(input_size, output_size) + self.relu2 = nn.ReLU() + self.linear3 = nn.Linear(input_size, output_size) + def forward(self, x): + x = self.linear1(x) + x = self.relu1(x) + x = self.linear2(x) + x = self.relu2(x) + x = self.linear3(x) -```python -a.stop_gradient = False -print(a.stop_gradient) + return x ``` - False - +Set the parameters of training. In order to effectively show the improvement of training speed by mixed precision training, please set the larger values of ``input_size`` and ``output_size``. And in order to use the ``Tensor Core`` provided by GPU, ``batch_size`` needs to be set as a multiple of 8. ```python -import paddle - -x = paddle.to_tensor([1.0, 2.0, 3.0], stop_gradient=False) -y = paddle.to_tensor([4.0, 5.0, 6.0], stop_gradient=False) -z = x ** 2 + 4 * y -``` +epochs = 5 +input_size = 4096 # set to a larger value +output_size = 4096 # set to a larger value +batch_size = 512 # batch_size is a multiple of 8 +nums_batch = 50 +train_data = [paddle.randn((batch_size, input_size)) for _ in range(nums_batch)] +labels = [paddle.randn((batch_size, output_size)) for _ in range(nums_batch)] -```python -z.backward() -print("Tensor x's grad is: {}".format(x.grad)) -print("Tensor y's grad is: {}".format(y.grad)) +mse = paddle.nn.MSELoss() ``` - Tensor x's grad is: Tensor(shape=[3], dtype=float32, place=CUDAPlace(0), stop_gradient=False, - [2., 4., 6.]) - Tensor y's grad is: Tensor(shape=[3], dtype=float32, place=CUDAPlace(0), stop_gradient=False, - [4., 4., 4.]) - +### 3.3 Training with Default Method ```python -import paddle +model = SimpleNet(input_size, output_size) # define model -x = paddle.to_tensor([1.0, 2.0, 3.0], stop_gradient=False) -y = x + 3 -y.backward(retain_graph=True) # 设置retain_graph为True,保留反向计算图 -print("Tensor x's grad is: {}".format(x.grad)) -``` +optimizer = paddle.optimizer.SGD(learning_rate=0.0001, parameters=model.parameters()) # define optimizer - Tensor x's grad is: Tensor(shape=[3], dtype=float32, place=CUDAPlace(0), stop_gradient=False, - [1., 1., 1.]) +start_timer() # get the start time of training +for epoch in range(epochs): + datas = zip(train_data, labels) + for i, (data, label) in enumerate(datas): + output = model(data) + loss = mse(output, label) -```python -import paddle -import numpy as np - -x = np.ones([2, 2], np.float32) -inputs2 = [] + # backpropagation + loss.backward() -for _ in range(10): - tmp = paddle.to_tensor(x) - tmp.stop_gradient = False - inputs2.append(tmp) + # update parameters + optimizer.step() + optimizer.clear_grad() -ret2 = paddle.add_n(inputs2) -loss2 = paddle.sum(ret2) - -loss2.backward() -print("Before clear {}".format(loss2.gradient())) - -loss2.clear_grad() -print("After clear {}".format(loss2.gradient())) +print(loss) +end_timer_and_print("Default time:") # print massage and total time ``` - Before clear [1.] - After clear [0.] + Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, + [1.24072289]) + + Default time: + total time = 2.935 sec +### 3.4 Training with AMP -```python -import paddle - -a = paddle.to_tensor(2.0, stop_gradient=False) -b = paddle.to_tensor(5.0, stop_gradient=True) -c = a * b -c.backward() -print("Tensor a's grad is: {}".format(a.grad)) -print("Tensor b's grad is: {}".format(b.grad)) -``` +Using automatic mixed precision training with PaddlePaddle requires four steps: - Tensor a's grad is: Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, - [5.]) - Tensor b's grad is: None +- Step1: Define ``GradScaler``, which is used to scale the ``loss`` to avoid underflow +- Step2: Use ``decorate``, to do nothing in level='O1' mode without using this api, and in level='O2' mode to convert network parameters from FP32 to FP16 +- Step3: Use ``auto_cast`` to create an AMP context, in which the input datatype(FP16 or FP32) of each oprator will be automatically determined +- Step4: Use ``GradScaler`` defined in Step1 to complete the scaling of ``loss``, and use the scaled ``loss`` for backpropagation to complete the training +In level=’O1‘ mode: ```python +model = SimpleNet(input_size, output_size) # define model -import paddle +optimizer = paddle.optimizer.SGD(learning_rate=0.0001, parameters=model.parameters()) # define optimizer -a = paddle.to_tensor(2.0, stop_gradient=False) -b = paddle.to_tensor(5.0, stop_gradient=False) -c = a * b -d = paddle.to_tensor(4.0, stop_gradient=False) -e = c * d -e.backward() -print("Tensor a's grad is: {}".format(a.grad)) -print("Tensor b's grad is: {}".format(b.grad)) -print("Tensor c's grad is: {}".format(c.grad)) -print("Tensor d's grad is: {}".format(d.grad)) -``` +# Step1:define GradScaler +scaler = paddle.amp.GradScaler(init_loss_scaling=1024) - Tensor a's grad is: Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, - [20.]) - Tensor b's grad is: Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, - [8.]) - Tensor c's grad is: Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, - [4.]) - Tensor d's grad is: Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, - [10.]) +start_timer() # get start time +for epoch in range(epochs): + datas = zip(train_data, labels) + for i, (data, label) in enumerate(datas): + # Step2:create AMP context environment + with paddle.amp.auto_cast(): + output = model(data) + loss = mse(output, label) -```python -class Model(paddle.nn.Layer): + # Step3:use GradScaler complete the loss scaling + scaled = scaler.scale(loss) + scaled.backward() - def __init__(self): - super(Model, self).__init__() - self.flatten = paddle.nn.Flatten() + # update parameters + scaler.minimize(optimizer, scaled) + optimizer.clear_grad() - def forward(self, inputs): - y = self.flatten(inputs) - return y +print(loss) +end_timer_and_print("AMP time in O1 mode:") ``` + Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, + [1.24848151]) + + AMP time in O1 mode: + total time = 1.299 sec -```python -model = Model() -print(model.sublayers()) - -print("----------------------") - -for item in model.named_sublayers(): - print(item) -``` - - [Flatten()] - ---------------------- - ('flatten', Flatten()) - - - -```python -fc = paddle.nn.Linear(10, 3) -model.add_sublayer("fc", fc) -print(model.sublayers()) -``` - - [Flatten(), Linear(in_features=10, out_features=3, dtype=float32)] +In level='O2' mode: ```python -def function(layer): - print(layer) - -model.apply(function) -``` - - Flatten() - Linear(in_features=10, out_features=3, dtype=float32) - Model( - (flatten): Flatten() - (fc): Linear(in_features=10, out_features=3, dtype=float32) - ) - - +model = SimpleNet(input_size, output_size) # define model +optimizer = paddle.optimizer.SGD(learning_rate=0.0001, parameters=model.parameters()) # define optimizer +# Step1:define GradScaler +scaler = paddle.amp.GradScaler(init_loss_scaling=1024) - Model( - (flatten): Flatten() - (fc): Linear(in_features=10, out_features=3, dtype=float32) - ) +# Step2:in level='O2' mode, convert network parameters from FP32 to FP16 +model, optimizer = paddle.amp.decorate(models=model, optimizers=optimizer, level='O2', master_weight=None, save_dtype=None) +start_timer() # get start time +for epoch in range(epochs): + datas = zip(train_data, labels) + for i, (data, label) in enumerate(datas): + # Step3:create AMP context environment + with paddle.amp.auto_cast(enable=True, custom_white_list=None, custom_black_list=None, level='O2'): + output = model(data) + loss = mse(output, label) -```python -sublayer_iter = model.children() -for sublayer in sublayer_iter: - print(sublayer) -``` - - Flatten() - Linear(in_features=10, out_features=3, dtype=float32) - - - -```python -class Model(paddle.nn.Layer): + # Step4:use GradScaler complete the loss scaling + scaled = scaler.scale(loss) + scaled.backward() - def __init__(self): - super(Model, self).__init__() - img = self.create_parameter([1,3,256,256]) - self.add_parameter("img", img) - self.flatten = paddle.nn.Flatten() + # update parameters + scaler.minimize(optimizer, scaled) + optimizer.clear_grad() - def forward(self): - y = self.flatten(self.img) - return y +print(loss) +end_timer_and_print("AMP time in O2 mode:") ``` - -```python -model = Model() -model.parameters() -print("----------------------------------------------------------------------------------") -for item in model.named_parameters(): - print(item) -``` - - ---------------------------------------------------------------------------------- - ('img', Parameter containing: - Tensor(shape=[1, 3, 256, 256], dtype=float32, place=CUDAPlace(0), stop_gradient=False, - [[[[ 0.00330893, 0.00146855, -0.00315564, ..., -0.00037254, - -0.00398024, 0.00175103], - [-0.00269739, 0.00015307, 0.00215079, ..., 0.00083044, - 0.00433949, 0.00183416], - [ 0.00124980, 0.00066814, -0.00296695, ..., -0.00166787, - -0.00208646, 0.00066172], - ..., - [ 0.00118238, -0.00020917, -0.00211811, ..., 0.00341913, - 0.00110805, -0.00007380], - [-0.00283090, 0.00450932, -0.00027968, ..., 0.00141592, - 0.00147790, -0.00163899], - [ 0.00473807, 0.00005514, 0.00163972, ..., -0.00105391, - 0.00130420, -0.00455226]], + in ParamBase copy_to func + in ParamBase copy_to func + in ParamBase copy_to func + in ParamBase copy_to func + in ParamBase copy_to func + in ParamBase copy_to func + Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, + [1.25075114]) - [[ 0.00370526, -0.00421996, -0.00161209, ..., 0.00098369, - -0.00364983, 0.00031144], - [ 0.00173886, 0.00339773, 0.00141036, ..., 0.00346697, - 0.00417612, 0.00012173], - [ 0.00120599, 0.00061922, -0.00084213, ..., -0.00172405, - 0.00378877, -0.00097374], - ..., - [-0.00322239, 0.00413360, 0.00473170, ..., 0.00415691, - 0.00108459, -0.00351989], - [-0.00416756, 0.00164984, 0.00244981, ..., 0.00053153, - -0.00464938, 0.00450330], - [-0.00406198, -0.00193215, -0.00431253, ..., -0.00257889, - -0.00165101, -0.00138488]], - - [[ 0.00441089, 0.00360072, 0.00199083, ..., -0.00120336, - 0.00208172, 0.00016561], - [ 0.00456772, -0.00385161, 0.00081078, ..., -0.00298249, - -0.00269728, -0.00413104], - [ 0.00370318, 0.00103516, 0.00258130, ..., -0.00003251, - -0.00032389, -0.00006440], - ..., - [-0.00348314, -0.00025856, -0.00374935, ..., -0.00344840, - 0.00243370, -0.00292505], - [ 0.00477740, 0.00388781, -0.00466578, ..., 0.00121291, - 0.00004315, -0.00295597], - [ 0.00455716, 0.00302863, 0.00055869, ..., 0.00052850, - 0.00218663, 0.00267356]]]])) - - + AMP time in O2 mode: + total time = 0.888 sec -```python -model = Model() -out = model() -out.backward() -model.clear_gradients() -``` +## 4. Advanced Usage +### 4.1 Gradient Accumulation -```python -class Model(paddle.nn.Layer): - - def __init__(self): - super(Model, self).__init__() - self.saved_tensor = self.create_tensor(name="saved_tensor0") - self.flatten = paddle.nn.Flatten() - self.fc = paddle.nn.Linear(10, 100) - - def forward(self, input): - y = self.flatten(input) - # Save intermediate tensor - paddle.assign(y, self.saved_tensor) - y = self.fc(y) - return y -``` +Gradient accumulation means running a configured number of steps without updating the model variables. Until certain steps, use the accumulated gradients to update the variables. - -```python -class Model(paddle.nn.Layer): - - def __init__(self): - super(Model, self).__init__() - saved_tensor = self.create_tensor(name="saved_tensor0") - self.register_buffer("saved_tensor", saved_tensor, persistable=True) - self.flatten = paddle.nn.Flatten() - self.fc = paddle.nn.Linear(10, 100) - - def forward(self, input): - y = self.flatten(input) - # Save intermediate tensor - paddle.assign(y, self.saved_tensor) - y = self.fc(y) - return y -``` +In automatic mixed precision training, gradient accumulation is also supported, and the usage is as follows: ```python -model = Model() -print(model.buffers()) -for item in model.named_buffers():class Model(paddle.nn.Layer): - - def __init__(self): - super(Model, self).__init__() - self.flatten = paddle.nn.Flatten() - - def forward(self, inputs): - y = self.flatten(inputs) - return y - print(item) -``` +model = SimpleNet(input_size, output_size) # define model +optimizer = paddle.optimizer.SGD(learning_rate=0.0001, parameters=model.parameters()) # define optimizer - File "/tmp/ipykernel_104/851298997.py", line 3 - for item in model.named_buffers():class Model(paddle.nn.Layer): - ^ - SyntaxError: invalid syntax +accumulate_batchs_num = 10 # the batch numbers of gradients accumulation +# define GradScaler +scaler = paddle.amp.GradScaler(init_loss_scaling=1024) +start_timer() # get start time +for epoch in range(epochs): + datas = zip(train_data, labels) + for i, (data, label) in enumerate(datas): -```python -class Model(paddle.nn.Layer): + # create AMP context environment + with paddle.amp.auto_cast(): + output = model(data) + loss = mse(output, label) - def __init__(self): - super(Model, self).__init__() - self.flatten = paddle.nn.Flatten() + # use GradScaler complete the loss scaling + scaled = scaler.scale(loss) + scaled.backward() - def forward(self, inputs): - y = self.flatten(inputs) - return y -``` + # when the accumulated batch is accumulate_batchs_num, update the model parameters + if (i + 1) % accumulate_batchs_num == 0: + # update parameters + scaler.minimize(optimizer, scaled) + optimizer.clear_grad() -```python -x = paddle.randn([10, 1], 'float32') -model = Model() -model.eval() # set model to eval mode -out = model(x) -model.train() # set model to train mode -out = model(x) +print(loss) +end_timer_and_print("AMP time:") ``` - -```python -model = Model() -x = paddle.randn([10, 1], 'float32') -out = model(x) -print(out) -``` - - Tensor(shape=[10, 1], dtype=float32, place=CUDAPlace(0), stop_gradient=True, - [[-0.12737122], - [-0.57012707], - [-0.70294005], - [ 0.14529558], - [ 0.50616348], - [-0.96126020], - [ 0.51200545], - [ 2.64334464], - [ 1.11839330], - [ 0.61924362]]) - - - -```python -def forward_post_hook(layer, input, output): - return 2*output - -x = paddle.ones([10, 1], 'float32') -model = Model() -forward_post_hook_handle = model.flatten.register_forward_post_hook(forward_post_hook) -out = model(x) -print(out) -``` - - Tensor(shape=[10, 1], dtype=float32, place=CUDAPlace(0), stop_gradient=True, - [[2.], - [2.], - [2.], - [2.], - [2.], - [2.], - [2.], - [2.], - [2.], - [2.]]) - - - -```python -def forward_pre_hook(layer, input, output): - return 2*output - -x = paddle.ones([10, 1], 'float32') -model = Model() -forward_pre_hook_handle = model.flatten.register_forward_pre_hook(forward_pre_hook) -out = model(x) -``` - - - --------------------------------------------------------------------------- - - TypeError Traceback (most recent call last) - - /tmp/ipykernel_104/1696797913.py in - 5 model = Model() - 6 forward_pre_hook_handle = model.flatten.register_forward_pre_hook(forward_pre_hook) - ----> 7 out = model(x) + Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=False, + [1.25853443]) + AMP time: + total time = 1.034 sec - /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py in __call__(self, *inputs, **kwargs) - 912 self._built = True - 913 - --> 914 outputs = self.forward(*inputs, **kwargs) - 915 - 916 for forward_post_hook in self._forward_post_hooks.values(): - - - /tmp/ipykernel_104/2161125479.py in forward(self, inputs) - 6 - 7 def forward(self, inputs): - ----> 8 y = self.flatten(inputs) - 9 return y - - - /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py in __call__(self, *inputs, **kwargs) - 892 with param_guard(self._parameters), param_guard(self._buffers): - 893 for forward_pre_hook in self._forward_pre_hooks.values(): - --> 894 hook_result = forward_pre_hook(self, inputs) - 895 if hook_result is not None: - 896 if not isinstance(hook_result, tuple): +## 5. Conclusion - TypeError: forward_pre_hook() missing 1 required positional argument: 'output' - - - -```python - -``` +As can be seen from the above example, using the automatic mixed precision training, in O1 mode the total time is about 1.299s, in O2 mode the total time is about 0.888s, while the ordinary training method takes 2.935s, and the training speed is increased by about 2.4 times in O1 mode and 2.4 times in O2 mode. For more examples of using mixed precision training, please refer to paddlepaddle's models: [paddlepaddle/models](https://github.com/PaddlePaddle/models). diff --git a/docs/install/docker/fromdocker.rst b/docs/install/docker/fromdocker.rst index aa25d82d3d7..62905f664d7 100644 --- a/docs/install/docker/fromdocker.rst +++ b/docs/install/docker/fromdocker.rst @@ -5,5 +5,4 @@ .. toctree:: :maxdepth: 1 - linux-docker.md macos-docker.md diff --git a/docs/install/docker/fromdocker_en.rst b/docs/install/docker/fromdocker_en.rst index c0b2b487411..af6a1a7fafe 100644 --- a/docs/install/docker/fromdocker_en.rst +++ b/docs/install/docker/fromdocker_en.rst @@ -5,5 +5,4 @@ .. toctree:: - linux-docker_en.md macos-docker_en.md From 3b5f0274c7784382a911b7d5dc0c0398c76b3438 Mon Sep 17 00:00:00 2001 From: TCChenlong <1300851984@qq.com> Date: Thu, 11 Nov 2021 12:30:32 +0800 Subject: [PATCH 3/5] mv multi_dot to linalg --- docs/api/paddle/linalg/multi_dot_cn.rst | 56 +++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100755 docs/api/paddle/linalg/multi_dot_cn.rst diff --git a/docs/api/paddle/linalg/multi_dot_cn.rst b/docs/api/paddle/linalg/multi_dot_cn.rst new file mode 100755 index 00000000000..e6200eecbdd --- /dev/null +++ b/docs/api/paddle/linalg/multi_dot_cn.rst @@ -0,0 +1,56 @@ +.. _cn_api_tensor_multi_dot: + +multi_dot +------------------------------- + +.. py:function:: paddle.linalg.multi_dot(x, name=None) + +Multi_dot是一个计算多个矩阵乘法的算子。 + +算子支持float16(只有GPU支持,CPU不支持float16),float32和float64三种类型。该算子不支持批量输入。 + +输入[x]的每个tensor的shape必须是二维的,除了第一个和最后一个tensor可以是一维的。如果第一个tensor是shape为(n, )的一维向量,该tensor将被当作是shape为(1, n)的行向量处理,同样的,如果最后一个tensor的shape是(n, ),将被当作是shape为(n, 1)的列向量处理。 + +如果第一个和最后一个tensor是二维矩阵,那么输出也是一个二维矩阵,否则输出是一维的向量。 + +Multi_dot会选择计算量最小的乘法顺序进行计算。(a, b)和(b, c)这样两个矩阵相乘的计算量是a * b * c。给定矩阵A, B, C的shape分别为(20, 5), (5, 100),(100, 10),我们可以计算不同乘法顺序的计算量: + +- Cost((AB)C) = 20x5x100 + 20x100x10 = 30000 +- Cost(A(BC)) = 5x100x10 + 20x5x10 = 6000 + +在这个例子中,先算B乘以C再乘A的计算量比按顺序乘少5倍。 + +参数 +::::::::: + - **x** ([tensor]): 输入的是一个tensor列表。 + - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name` ,一般无需设置,默认值为None。 + +返回: +::::::::: + - Tensor,输出Tensor + +代码示例 +:::::::::: + +.. code-block:: python + + import paddle + import numpy as np + # A * B + A_data = np.random.random([3, 4]).astype(np.float32) + B_data = np.random.random([4, 5]).astype(np.float32) + A = paddle.to_tensor(A_data) + B = paddle.to_tensor(B_data) + out = paddle.linalg.multi_dot([A, B]) + print(out.numpy().shape) + # [3, 5] + # A * B * C + A_data = np.random.random([10, 5]).astype(np.float32) + B_data = np.random.random([5, 8]).astype(np.float32) + C_data = np.random.random([8, 7]).astype(np.float32) + A = paddle.to_tensor(A_data) + B = paddle.to_tensor(B_data) + C = paddle.to_tensor(C_data) + out = paddle.linalg.multi_dot([A, B, C]) + print(out.numpy().shape) + # [10, 7] From 730bfdd4e661b8586577faadf1ce474192388dbf Mon Sep 17 00:00:00 2001 From: TCChenlong <1300851984@qq.com> Date: Thu, 11 Nov 2021 13:40:04 +0800 Subject: [PATCH 4/5] update styles --- docs/api/paddle/multi_dot_cn.rst | 56 ---------- docs/practices/cv/image_ocr/image_ocr.ipynb | 117 +++++++++----------- docs/release_note_cn.md | 24 ++-- docs/release_note_en.md | 22 ++-- 4 files changed, 73 insertions(+), 146 deletions(-) delete mode 100755 docs/api/paddle/multi_dot_cn.rst diff --git a/docs/api/paddle/multi_dot_cn.rst b/docs/api/paddle/multi_dot_cn.rst deleted file mode 100755 index 8dc63f4a419..00000000000 --- a/docs/api/paddle/multi_dot_cn.rst +++ /dev/null @@ -1,56 +0,0 @@ -.. _cn_api_tensor_multi_dot: - -multi_dot -------------------------------- - -.. py:function:: paddle.multi_dot(x, name=None) - -Multi_dot是一个计算多个矩阵乘法的算子。 - -算子支持float16(只有GPU支持,CPU不支持float16),float32和float64三种类型。该算子不支持批量输入。 - -输入[x]的每个tensor的shape必须是二维的,除了第一个和最后一个tensor可以是一维的。如果第一个tensor是shape为(n, )的一维向量,该tensor将被当作是shape为(1, n)的行向量处理,同样的,如果最后一个tensor的shape是(n, ),将被当作是shape为(n, 1)的列向量处理。 - -如果第一个和最后一个tensor是二维矩阵,那么输出也是一个二维矩阵,否则输出是一维的向量。 - -Multi_dot会选择计算量最小的乘法顺序进行计算。(a, b)和(b, c)这样两个矩阵相乘的计算量是a * b * c。给定矩阵A, B, C的shape分别为(20, 5), (5, 100),(100, 10),我们可以计算不同乘法顺序的计算量: - -- Cost((AB)C) = 20x5x100 + 20x100x10 = 30000 -- Cost(A(BC)) = 5x100x10 + 20x5x10 = 6000 - -在这个例子中,先算B乘以C再乘A的计算量比按顺序乘少5倍。 - -参数 -::::::::: - - **x** ([tensor]): 输入的是一个tensor列表。 - - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name` ,一般无需设置,默认值为None。 - -返回: -::::::::: - - Tensor,输出Tensor - -代码示例 -:::::::::: - -.. code-block:: python - - import paddle - import numpy as np - # A * B - A_data = np.random.random([3, 4]).astype(np.float32) - B_data = np.random.random([4, 5]).astype(np.float32) - A = paddle.to_tensor(A_data) - B = paddle.to_tensor(B_data) - out = paddle.linalg.multi_dot([A, B]) - print(out.numpy().shape) - # [3, 5] - # A * B * C - A_data = np.random.random([10, 5]).astype(np.float32) - B_data = np.random.random([5, 8]).astype(np.float32) - C_data = np.random.random([8, 7]).astype(np.float32) - A = paddle.to_tensor(A_data) - B = paddle.to_tensor(B_data) - C = paddle.to_tensor(C_data) - out = paddle.linalg.multi_dot([A, B, C]) - print(out.numpy().shape) - # [10, 7] diff --git a/docs/practices/cv/image_ocr/image_ocr.ipynb b/docs/practices/cv/image_ocr/image_ocr.ipynb index 95f6699855b..d3b9c516c16 100644 --- a/docs/practices/cv/image_ocr/image_ocr.ipynb +++ b/docs/practices/cv/image_ocr/image_ocr.ipynb @@ -405,7 +405,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 18, "metadata": { "collapsed": false }, @@ -416,65 +416,65 @@ "text": [ "The loss value printed in the log is the current step, and the metric is the average value of previous steps.\n", "Epoch 1/10\n", - "step 529/529 [==============================] - loss: 0.0891 - 9ms/step \n", + "step 526/526 [==============================] - loss: 0.2182 - 13ms/step \n", "save checkpoint at /home/aistudio/output/0\n", "Eval begin...\n", - "step 63/63 [==============================] - loss: 0.0830 - 6ms/step \n", - "Eval samples: 1000\n", + "step 64/64 [==============================] - loss: 0.1953 - 6ms/step \n", + "Eval samples: 1024\n", "Epoch 2/10\n", - "step 529/529 [==============================] - loss: 0.0199 - 10ms/step \n", + "step 526/526 [==============================] - loss: 0.1394 - 10ms/step \n", "save checkpoint at /home/aistudio/output/1\n", "Eval begin...\n", - "step 63/63 [==============================] - loss: 0.0353 - 6ms/step \n", - "Eval samples: 1000\n", + "step 64/64 [==============================] - loss: 0.0416 - 5ms/step \n", + "Eval samples: 1024\n", "Epoch 3/10\n", - "step 529/529 [==============================] - loss: 0.2133 - 10ms/step \n", + "step 526/526 [==============================] - loss: 0.0296 - 9ms/step \n", "save checkpoint at /home/aistudio/output/2\n", "Eval begin...\n", - "step 63/63 [==============================] - loss: 0.0259 - 6ms/step \n", - "Eval samples: 1000\n", + "step 64/64 [==============================] - loss: 0.0327 - 6ms/step \n", + "Eval samples: 1024\n", "Epoch 4/10\n", - "step 529/529 [==============================] - loss: 0.0133 - 9ms/step \n", + "step 526/526 [==============================] - loss: 0.0150 - 9ms/step \n", "save checkpoint at /home/aistudio/output/3\n", "Eval begin...\n", - "step 63/63 [==============================] - loss: 0.0210 - 6ms/step \n", - "Eval samples: 1000\n", + "step 64/64 [==============================] - loss: 0.0228 - 5ms/step \n", + "Eval samples: 1024\n", "Epoch 5/10\n", - "step 529/529 [==============================] - loss: 0.0110 - 10ms/step \n", + "step 526/526 [==============================] - loss: 0.0102 - 9ms/step \n", "save checkpoint at /home/aistudio/output/4\n", "Eval begin...\n", - "step 63/63 [==============================] - loss: 0.0130 - 5ms/step \n", - "Eval samples: 1000\n", + "step 64/64 [==============================] - loss: 0.0161 - 6ms/step \n", + "Eval samples: 1024\n", "Epoch 6/10\n", - "step 529/529 [==============================] - loss: 0.0150 - 9ms/step \n", + "step 526/526 [==============================] - loss: 0.1300 - 10ms/step \n", "save checkpoint at /home/aistudio/output/5\n", "Eval begin...\n", - "step 63/63 [==============================] - loss: 0.0111 - 6ms/step \n", - "Eval samples: 1000\n", + "step 64/64 [==============================] - loss: 0.0164 - 5ms/step \n", + "Eval samples: 1024\n", "Epoch 7/10\n", - "step 529/529 [==============================] - loss: 0.0039 - 9ms/step \n", + "step 526/526 [==============================] - loss: 0.0199 - 9ms/step \n", "save checkpoint at /home/aistudio/output/6\n", "Eval begin...\n", - "step 63/63 [==============================] - loss: 0.0093 - 6ms/step \n", - "Eval samples: 1000\n", + "step 64/64 [==============================] - loss: 0.0121 - 5ms/step \n", + "Eval samples: 1024\n", "Epoch 8/10\n", - "step 529/529 [==============================] - loss: 0.0100 - 9ms/step \n", + "step 526/526 [==============================] - loss: 0.0060 - 9ms/step \n", "save checkpoint at /home/aistudio/output/7\n", "Eval begin...\n", - "step 63/63 [==============================] - loss: 0.0059 - 5ms/step \n", - "Eval samples: 1000\n", + "step 64/64 [==============================] - loss: 0.0133 - 5ms/step \n", + "Eval samples: 1024\n", "Epoch 9/10\n", - "step 529/529 [==============================] - loss: 0.0096 - 9ms/step \n", + "step 526/526 [==============================] - loss: 0.0084 - 11ms/step \n", "save checkpoint at /home/aistudio/output/8\n", "Eval begin...\n", - "step 63/63 [==============================] - loss: 0.0061 - 5ms/step \n", - "Eval samples: 1000\n", + "step 64/64 [==============================] - loss: 0.0098 - 5ms/step \n", + "Eval samples: 1024\n", "Epoch 10/10\n", - "step 529/529 [==============================] - loss: 0.0066 - 10ms/step \n", + "step 526/526 [==============================] - loss: 0.0100 - 9ms/step \n", "save checkpoint at /home/aistudio/output/9\n", "Eval begin...\n", - "step 63/63 [==============================] - loss: 0.0054 - 6ms/step \n", - "Eval samples: 1000\n", + "step 64/64 [==============================] - loss: 0.0109 - 10ms/step \n", + "Eval samples: 1024\n", "save checkpoint at /home/aistudio/output/final\n" ] } @@ -511,7 +511,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 19, "metadata": { "collapsed": false }, @@ -565,7 +565,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 20, "metadata": { "collapsed": false }, @@ -590,14 +590,14 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "data": { - "image/png": "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", + "image/png": "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\n", "text/plain": [ "
" ] @@ -628,52 +628,26 @@ }, "source": [ "## 七、开始预测\n", - "> 飞桨2.1 CTC Decoder 相关API正在迁移中,本节暂时使用简易版解码器。" + "> 飞桨2.2 CTC Decoder 相关API正在迁移中,本节暂时使用简易版解码器。" ] }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "WARNING: Detect dataset only contains single fileds, return format changed since Paddle 2.1. In Paddle <= 2.0, DataLoader add a list surround output data(e.g. return [data]), and in Paddle >= 2.1, DataLoader return the single filed directly (e.g. return data). For example, in following code: \n", - "\n", - "import numpy as np\n", - "from paddle.io import DataLoader, Dataset\n", - "\n", - "class RandomDataset(Dataset):\n", - " def __getitem__(self, idx):\n", - " data = np.random.random((2, 3)).astype('float32')\n", - "\n", - " return data\n", - "\n", - " def __len__(self):\n", - " return 10\n", - "\n", - "dataset = RandomDataset()\n", - "loader = DataLoader(dataset, batch_size=1)\n", - "data = next(loader())\n", - "\n", - "In Paddle <= 2.0, data is in format '[Tensor(shape=(1, 2, 3), dtype=float32)]', and in Paddle >= 2.1, data is in format 'Tensor(shape=(1, 2, 3), dtype=float32)'\n", - "\n" - ] - }, { "name": "stdout", "output_type": "stream", "text": [ "Predict begin...\n", - "step 1/1 [==============================] - 10ms/step\n", + "step 1/1 [==============================] - 7ms/step\n", "Predict samples: 3\n", "文件名:9451.jpg,推理结果为:[3, 4, 6, 3]\n", - "文件名:9452.jpg,推理结果为:[0, 3, 0, 0]\n", - "文件名:9450.jpg,推理结果为:[8, 2, 0, 5]\n" + "文件名:9450.jpg,推理结果为:[8, 2, 0, 5]\n", + "文件名:9452.jpg,推理结果为:[0, 3, 0, 0]\n" ] } ], @@ -713,6 +687,15 @@ " print(f\"文件名:{img_names[index]},推理结果为:{out}\")\n", " index += 1" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] } ], "metadata": { @@ -736,4 +719,4 @@ }, "nbformat": 4, "nbformat_minor": 1 -} \ No newline at end of file +} diff --git a/docs/release_note_cn.md b/docs/release_note_cn.md index 673098a5676..781b1b76957 100644 --- a/docs/release_note_cn.md +++ b/docs/release_note_cn.md @@ -305,18 +305,18 @@ paddle.int64 - 短时傅里叶逆变换。(``paddle.signal.istft``) - 新增高层API - - 新增 ``paddle.vision.ops.roi_pool`` 和 ``paddle.vision.ops.RoIPool``,支持检测任务中 RoI 区域池化操作。 ([#36154](https://github.com/PaddlePaddle/Paddle/pull/36154)) - - 新增 ``paddle.vision.ops.roi_align`` 和 ``paddle.vision.ops.RoIAlign``,支持检测任务中 RoI 区域 Align 操作。([#36207](https://github.com/PaddlePaddle/Paddle/pull/36207)) - - 新增 ``paddle.vision.ops.psroi_pool`` 和 ``paddle.vision.ops.PSRoIPool``,支持检测任务中位置敏感的 RoI 区域池化操作。 ([#36111](https://github.com/PaddlePaddle/Paddle/pull/36111)) - - 新增 ``paddle.vision.models.vgg19`` 预训练权重。 ([#35788](https://github.com/PaddlePaddle/Paddle/pull/35788)) - - 新增 ``paddle.vision.datasets.*`` 中数据集 API 下载进度条。([#33302](https://github.com/PaddlePaddle/Paddle/pull/33302)) - - 新增 ``paddle.Model.predict`` 参数 ``verbose``,支持是否显示日志。([#33405](https://github.com/PaddlePaddle/Paddle/pull/33405)) - - 新增 ``paddle.hub`` 下载选项 `wget` 方式。([#33379](https://github.com/PaddlePaddle/Paddle/pull/33379)) - - 新增 ``paddle.Model`` 动态图模式下梯度累加功能。([#32702](https://github.com/PaddlePaddle/Paddle/pull/32702)) - - 新增 ``paddle.Model.fit`` 和 ``paddle.Model.evaluate`` 动态图模式下 ``num_iters`` 参数,控制训练迭代轮数。([#33986](https://github.com/PaddlePaddle/Paddle/pull/33986)) - - 新增 ``paddle.vision.ops.yolo_box`` 参数 ``iou_aware`` 和 ``iou_aware_factor``,支持 YoloBox 使用预测的 IOU 作为置信度的因子。([#33400](https://github.com/PaddlePaddle/Paddle/pull/33400)) - - 新增 ``paddle.summary`` 参数``input``,支持给定输入。([#34165](https://github.com/PaddlePaddle/Paddle/pull/34165)) - - 新增`paddle.text.viterbi_decode`,支持动态图下CPU、GPU的Viterbi解码功能。([#35778](https://github.com/PaddlePaddle/Paddle/pull/35778)) + - 新增 ``paddle.vision.ops.roi_pool`` 和 ``paddle.vision.ops.RoIPool``,支持检测任务中 RoI 区域池化操作。 ([#36154](https://github.com/PaddlePaddle/Paddle/pull/36154)) + - 新增 ``paddle.vision.ops.roi_align`` 和 ``paddle.vision.ops.RoIAlign``,支持检测任务中 RoI 区域 Align 操作。([#36207](https://github.com/PaddlePaddle/Paddle/pull/36207)) + - 新增 ``paddle.vision.ops.psroi_pool`` 和 ``paddle.vision.ops.PSRoIPool``,支持检测任务中位置敏感的 RoI 区域池化操作。 ([#36111](https://github.com/PaddlePaddle/Paddle/pull/36111)) + - 新增 ``paddle.vision.models.vgg19`` 预训练权重。 ([#35788](https://github.com/PaddlePaddle/Paddle/pull/35788)) + - 新增 ``paddle.vision.datasets.*`` 中数据集 API 下载进度条。([#33302](https://github.com/PaddlePaddle/Paddle/pull/33302)) + - 新增 ``paddle.Model.predict`` 参数 ``verbose``,支持是否显示日志。([#33405](https://github.com/PaddlePaddle/Paddle/pull/33405)) + - 新增 ``paddle.hub`` 下载选项 `wget` 方式。([#33379](https://github.com/PaddlePaddle/Paddle/pull/33379)) + - 新增 ``paddle.Model`` 动态图模式下梯度累加功能。([#32702](https://github.com/PaddlePaddle/Paddle/pull/32702)) + - 新增 ``paddle.Model.fit`` 和 ``paddle.Model.evaluate`` 动态图模式下 ``num_iters`` 参数,控制训练迭代轮数。([#33986](https://github.com/PaddlePaddle/Paddle/pull/33986)) + - 新增 ``paddle.vision.ops.yolo_box`` 参数 ``iou_aware`` 和 ``iou_aware_factor``,支持 YoloBox 使用预测的 IOU 作为置信度的因子。([#33400](https://github.com/PaddlePaddle/Paddle/pull/33400)) + - 新增 ``paddle.summary`` 参数``input``,支持给定输入。([#34165](https://github.com/PaddlePaddle/Paddle/pull/34165)) + - 新增`paddle.text.viterbi_decode`,支持动态图下CPU、GPU的Viterbi解码功能。([#35778](https://github.com/PaddlePaddle/Paddle/pull/35778)) - 新增组网类 API - 新增`paddle.nn.functional.sparse_attention`,用于计算稀疏的Transformer Attention模块。([#35757](https://github.com/PaddlePaddle/Paddle/pull/35757)) diff --git a/docs/release_note_en.md b/docs/release_note_en.md index a000115a4e7..349796fdebb 100644 --- a/docs/release_note_en.md +++ b/docs/release_note_en.md @@ -306,17 +306,17 @@ paddle.int64 - Add new high-level APIs - Add the ``paddle.vision.ops.roi_pool`` and ``paddle.vision.ops.RoIPool``, support RoI region pooling operations in detection tasks. ([#36154](https://github.com/PaddlePaddle/Paddle/pull/36154)) - - Add the ``paddle.vision.ops.roi_align`` and ``paddle.vision.ops.RoIAlign``, to support RoI region Align operations in detection tasks. ([#36207](https://github.com/PaddlePaddle/Paddle/pull/36207)) - - Add the ``paddle.vision.ops.psroi_pool`` and ``paddle.vision.ops.PSRoIPool``, to support location-sensitive RoI region pooling operations in detection tasks. ([#36111](https://github.com/PaddlePaddle/Paddle/pull/36111)) - - Add the ``paddle.vision.models.vgg19`` pre-training weights. ([#35788](https://github.com/PaddlePaddle/Paddle/pull/35788)) - - Add thedatasets API download progress bar in ``paddle.vision.datasets.*``. ([#33302](https://github.com/PaddlePaddle/Paddle/pull/33302)) - - Add the ``paddle.Model.predict`` parameter ``verbose``, to support whether to show logs or not. ([#33405](https://github.com/PaddlePaddle/Paddle/pull/33405)) - - Add the ``paddle.hub`` download option ``wget`` method. ([#33379](https://github.com/PaddlePaddle/Paddle/pull/33379)) - - Add the ``paddle.Model`` gradient accumulation in dynamic graph mode. ([#32702](https://github.com/PaddlePaddle/Paddle/pull/32702)) - - Add the ``paddle.Model.fit`` and ``paddle.Model.evaluate`` ``num_iters`` parameters in dynamic graph mode to control the number of training iterations. ([#33986](https://github.com/PaddlePaddle/Paddle/pull/33986)) - - Add the ``paddle.vision.ops.yolo_box`` parameters ``iou_aware`` and ``iou_aware_factor``, to support YoloBox using predicted IOUs as confidence factors. ([#33400](https://github.com/PaddlePaddle/Paddle/pull/33400)) - - Add the ``paddle.summary`` parameter input to support the given ``input``. ([#34165](https://github.com/PaddlePaddle/Paddle/pull/34165)) - - Add `paddle.text.viterbi_decode`, to support Viterbi decoding for CPU and GPU under dynamic graphs. ([#35778](https://github.com/PaddlePaddle/Paddle/pull/35778)) + - Add the ``paddle.vision.ops.roi_align`` and ``paddle.vision.ops.RoIAlign``, to support RoI region Align operations in detection tasks. ([#36207](https://github.com/PaddlePaddle/Paddle/pull/36207)) + - Add the ``paddle.vision.ops.psroi_pool`` and ``paddle.vision.ops.PSRoIPool``, to support location-sensitive RoI region pooling operations in detection tasks. ([#36111](https://github.com/PaddlePaddle/Paddle/pull/36111)) + - Add the ``paddle.vision.models.vgg19`` pre-training weights. ([#35788](https://github.com/PaddlePaddle/Paddle/pull/35788)) + - Add the datasets API download progress bar in ``paddle.vision.datasets.*``. ([#33302](https://github.com/PaddlePaddle/Paddle/pull/33302)) + - Add the ``paddle.Model.predict`` parameter ``verbose``, to support whether to show logs or not. ([#33405](https://github.com/PaddlePaddle/Paddle/pull/33405)) + - Add the ``paddle.hub`` download option ``wget`` method. ([#33379](https://github.com/PaddlePaddle/Paddle/pull/33379)) + - Add the ``paddle.Model`` gradient accumulation in dynamic graph mode. ([#32702](https://github.com/PaddlePaddle/Paddle/pull/32702)) + - Add the ``paddle.Model.fit`` and ``paddle.Model.evaluate`` ``num_iters`` parameters in dynamic graph mode to control the number of training iterations. ([#33986](https://github.com/PaddlePaddle/Paddle/pull/33986)) + - Add the ``paddle.vision.ops.yolo_box`` parameters ``iou_aware`` and ``iou_aware_factor``, to support YoloBox using predicted IOUs as confidence factors. ([#33400](https://github.com/PaddlePaddle/Paddle/pull/33400)) + - Add the ``paddle.summary`` parameter input to support the given ``input``. ([#34165](https://github.com/PaddlePaddle/Paddle/pull/34165)) + - Add `paddle.text.viterbi_decode`, to support Viterbi decoding for CPU and GPU under dynamic graphs. ([#35778](https://github.com/PaddlePaddle/Paddle/pull/35778)) - Add networking class APIs - Add `paddle.nn.functional.sparse_attention` for computing sparse Transformer Attention modules. ([#35757](https://github.com/PaddlePaddle/Paddle/pull/35757)) From 4334c57afdc459da68d618a2ffe5bb625c8e96d7 Mon Sep 17 00:00:00 2001 From: TCChenlong <1300851984@qq.com> Date: Thu, 11 Nov 2021 14:08:53 +0800 Subject: [PATCH 5/5] fix ocr --- .../cv/{image_ocr => }/image_ocr.ipynb | 0 docs/practices/cv/image_ocr/images/image1.png | Bin 133262 -> 0 bytes docs/practices/cv/image_ocr/images/image2.png | Bin 93944 -> 0 bytes docs/practices/cv/image_ocr/images/image3.png | Bin 508150 -> 0 bytes docs/practices/cv/index_cn.rst | 6 +++--- .../cv/{image_ocr => }/sample_img/9450.jpg | Bin .../cv/{image_ocr => }/sample_img/9451.jpg | Bin .../cv/{image_ocr => }/sample_img/9452.jpg | Bin docs/practices/index_cn.rst | 2 +- 9 files changed, 4 insertions(+), 4 deletions(-) rename docs/practices/cv/{image_ocr => }/image_ocr.ipynb (100%) delete mode 100644 docs/practices/cv/image_ocr/images/image1.png delete mode 100644 docs/practices/cv/image_ocr/images/image2.png delete mode 100644 docs/practices/cv/image_ocr/images/image3.png rename docs/practices/cv/{image_ocr => }/sample_img/9450.jpg (100%) rename docs/practices/cv/{image_ocr => }/sample_img/9451.jpg (100%) rename docs/practices/cv/{image_ocr => }/sample_img/9452.jpg (100%) diff --git a/docs/practices/cv/image_ocr/image_ocr.ipynb b/docs/practices/cv/image_ocr.ipynb similarity index 100% rename from docs/practices/cv/image_ocr/image_ocr.ipynb rename to docs/practices/cv/image_ocr.ipynb diff --git a/docs/practices/cv/image_ocr/images/image1.png b/docs/practices/cv/image_ocr/images/image1.png deleted file mode 100644 index 8163e6d5df9f251b0c421cd9991ad6707fbd9297..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133262 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Ξz3Lm*}5Dk?5{*nh)Bh7YJsmrSDVW9uC>@tf;0 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

cWjW`iai5YfylQh6+9~o3DcUd3!cWU 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 Zjl&`_ :介绍使用 PaddlePaddle 在Cifar10数据集上完成图像分类。 - `以图搜图 <./image_search.html>`_ : 介绍使用 PaddlePaddle 实现以图搜图。 - `图像分割 <./image_segmentation.html>`_ : 介绍使用 PaddlePaddle 实现U-Net模型完成图像分割。 - - `OCR <./image_ocr/image_ocr.html>`_ : 介绍使用 PaddlePaddle 实现 OCR。 + - `OCR <./image_ocr.html>`_ : 介绍使用 PaddlePaddle 实现 OCR。 - `图像超分 <./super_resolution_sub_pixel.html>`_ : 介绍使用 PaddlePaddle 完成图像超分。 - `人脸关键点检测 <./landmark_detection.html>`_ : 介绍使用 PaddlePaddle 完成人脸关键点检测。 - `点云分类 <./pointnet.html>`_ :介绍使用 PaddlePaddle 完成点云分类。 @@ -23,7 +23,7 @@ convnet_image_classification.ipynb image_search.ipynb image_segmentation.ipynb - image_ocr/image_ocr.ipynb + image_ocr.ipynb super_resolution_sub_pixel.ipynb landmark_detection.ipynb - pointnet.ipynb \ No newline at end of file + pointnet.ipynb diff --git a/docs/practices/cv/image_ocr/sample_img/9450.jpg b/docs/practices/cv/sample_img/9450.jpg similarity index 100% rename from docs/practices/cv/image_ocr/sample_img/9450.jpg rename to docs/practices/cv/sample_img/9450.jpg diff --git a/docs/practices/cv/image_ocr/sample_img/9451.jpg b/docs/practices/cv/sample_img/9451.jpg similarity index 100% rename from docs/practices/cv/image_ocr/sample_img/9451.jpg rename to docs/practices/cv/sample_img/9451.jpg diff --git a/docs/practices/cv/image_ocr/sample_img/9452.jpg b/docs/practices/cv/sample_img/9452.jpg similarity index 100% rename from docs/practices/cv/image_ocr/sample_img/9452.jpg rename to docs/practices/cv/sample_img/9452.jpg diff --git a/docs/practices/index_cn.rst b/docs/practices/index_cn.rst index 08f43970778..fe8a731775c 100644 --- a/docs/practices/index_cn.rst +++ b/docs/practices/index_cn.rst @@ -19,7 +19,7 @@ - `图像分类 <./cv/convnet_image_classification.html>`_ :介绍使用 PaddlePaddle 在Cifar10数据集上完成图像分类。 - `以图搜图 <./cv/image_search.html>`_ : 介绍使用 PaddlePaddle 实现以图搜图。 - `图像分割 <./cv/image_segmentation.html>`_ : 介绍使用 PaddlePaddle 实现U-Net模型完成图像分割。 - - `OCR <./cv/image_ocr/image_ocr.html>`_ : 介绍使用 PaddlePaddle 实现 OCR。 + - `OCR <./cv/image_ocr.html>`_ : 介绍使用 PaddlePaddle 实现 OCR。 - `图像超分 <./cv/super_resolution_sub_pixel.html>`_ : 介绍使用 PaddlePaddle 完成图像超分。 - `人脸关键点检测 <./cv/landmark_detection.html>`_ : 介绍使用 PaddlePaddle 完成人脸关键点检测。 - `点云分类 <./cv/pointnet.html>`_ :介绍使用 PaddlePaddle 完成点云分类。

0=_J*cJ)M6Yt`&Xd8_E+j;f^?T^M2Z(Pe5io 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%0DYla9rh>)j{I5 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�Zswf~f-p(i+CgdL(iw`eQmT^` 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 t(R|FO-C=3OG_Pei3-6DeO5!H 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