Paddle icon indicating copy to clipboard operation
Paddle copied to clipboard

📝 文档示例代码修复任务

Open ooooo-create opened this issue 1 month ago • 16 comments

任务背景

我们在 https://github.com/PaddlePaddle/Paddle/pull/55295 和 https://github.com/PaddlePaddle/Paddle/pull/58168 中将 xdoctest 引入到飞桨框架工作流中,这是一个示例代码自动执行和检查工具,可以自动执行 Python docstring 中的示例代码,并对示例代码输出进行检查。但是在 CI 检查时默认使用的是增量更新检查,也就是只有涉及 API 名称、参数、Docstring 变更的 PR 才会触发对应 API 示例代码检查,这就导致一些示例代码本身存在问题但是没有被发现,直到别人恰好涉及这些修改,便阻塞了 CI。

随着框架的不断迭代,涉及 API 的 PR 合入的越来越多,例如 https://github.com/PaddlePaddle/Paddle/pull/76361 修改了 Tensor.shape 返回的类型,从先前的 list 升级为了 Size,这对示例代码中的影响非常大,也影响了用户对此的感知。在最近的一段时间内我们发现了越来越多的示例代码问题,已经严重影响了 CI 的稳定性和开发效率。因此我们决定发起一个示例代码修复任务,集中修复这些示例代码问题。

我们的任务来自于 CI 的全量检测结果,主要包含了 print 输出不匹配、运行报错、运行超时、xdoctest 指令的错误使用等问题。

实施步骤

  1. 我们需要安装最新的 Paddle whl 包,对于任务中说明 GPU 是否需要修复 的任务,请确保安装了 GPU 版本的 Paddle whl 包。
# CPU 版本
python -m pip install --pre paddlepaddle -i https://www.paddlepaddle.org.cn/packages/nightly/cpu/
# GPU 版本
python -m pip install --pre paddlepaddle-gpu -i https://www.paddlepaddle.org.cn/packages/nightly/cu126/
  1. 安装 xdoctest 工具,用于在本地验证一下现存的问题和修改的正确性

    示例代码书写规范

    每次线上等 CI 跑完就太慢了,所以,也可以使用 xdoctest 命令行先在本地验证一下修改的正确性,如:

    $ xdoctest \
    --debug --options "+IGNORE_WHITESPACE" --style "freeform" \
    --global-exec "import paddle\npaddle.device.set_device('cpu')" \
    test.py
    

    这里的参数 --global-exec "import paddle\npaddle.device.set_device('cpu')" 请务必加上。test.py 是需要检查的文件。由于直接检查 Paddle 项目中的文件可能存在各种路径依赖问题. 所以这里介绍一个最简单的使用方法:把修改完或未修改的示例代码单独封装到一个 python 文件中,单独检查,比如:

    示例代码:

    >>> def func(x):
    ...     if paddle.mean(x) < 0:
    ...         x_v = x - 1
    ...     else:
    ...         x_v = x + 1
    ...     return x_v
    

    封装为 test.py

    def test():
        """
        >>> def func(x):
        ...     if paddle.mean(x) < 0:
        ...         x_v = x - 1
        ...     else:
        ...         x_v = x + 1
        ...     return x_v
        """
    pass
    

    然后用 xdoctest --global-exec "import paddle\npaddle.device.set_device('cpu')" test.py 命令来检查修改的正确性。

  2. 当修改完 API 的示例代码之后,需要将 Paddle 仓库中对应 API Docstring 中的 .. code-block:: python 修改为 .. code-block:: pycon,具体背景参考 https://github.com/PaddlePaddle/Paddle/pull/76542 ,我们只需要修改我们认领的 API。

任务列表

任务 ID API 名 示例代码序号 CPU 是否需要修复 GPU 是否需要修复 认领人 Github id PR 链接
🙋1 paddle.DataParallel.astype 1 🙋@ADchampion3
🚧2 paddle.DataParallel.float 1 🚧@ADchampion3 PaddlePaddle/Paddle#76617
🚧3 paddle.DataParallel.sublayers 1 🚧@ADchampion3 PaddlePaddle/Paddle#76617
🚧4 paddle.Model.eval_batch 1 🚧@ADchampion3 PaddlePaddle/Paddle#76617
🚧5 paddle.Model.summary 1 🚧@ADchampion3 PaddlePaddle/Paddle#76617
✅6 paddle.Tensor.angle 1 ✅@ooooo-create PaddlePaddle/Paddle#76563
🚧7 paddle.Tensor.as_complex 1 🚧@SidusAntares PaddlePaddle/Paddle#76721
✅8 paddle.Tensor.as_strided 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
🙋9 paddle.Tensor.bernoulli_ 1 🙋@SidusAntares
🙋10 paddle.Tensor.cond 1 🙋@SidusAntares
🙋11 paddle.Tensor.digamma 1 🙋@SidusAntares
✅12 paddle.Tensor.dsplit 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅13 paddle.Tensor.flatten 1 ✅@ooooo-create PaddlePaddle/Paddle#76563
🙋14 paddle.Tensor.get_tensor 1 🙋@SidusAntares
✅15 paddle.Tensor.hsplit 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅16 paddle.Tensor.istft 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
🚧17 paddle.Tensor.matmul 1 🚧@WHoutstanding PaddlePaddle/Paddle#76691
✅18 paddle.Tensor.matrix_transpose 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅19 paddle.Tensor.moveaxis 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅20 paddle.Tensor.multi_dot 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
🚧21 paddle.Tensor.new_empty 1 🚧@WHoutstanding PaddlePaddle/Paddle#76691
✅22 paddle.Tensor.permute 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅23 paddle.Tensor.ravel 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅24 paddle.Tensor.reshape 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅25 paddle.Tensor.scatter scatter-example-1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅26 paddle.Tensor.scatter_nd_add 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
🚧27 paddle.Tensor.sgn 1 🚧@WHoutstanding PaddlePaddle/Paddle#76691
🚧28 paddle.Tensor.shape 1 🚧@WHoutstanding PaddlePaddle/Paddle#76691
✅29 paddle.Tensor.split 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅30 paddle.Tensor.squeeze 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅31 paddle.Tensor.stack 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅32 paddle.Tensor.stft 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
🔵33 paddle.Tensor.swapaxes 1
✅34 paddle.Tensor.t code-example ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅35 paddle.Tensor.tensor_split tensor-split-example-1, tensor-split-example-2, tensor-split-example-3, tensor-split-example-4, tensor-split-example-5 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅36 paddle.Tensor.trace 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
🔵37 paddle.Tensor.unflatten 1
✅38 paddle.Tensor.unsqueeze 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅39 paddle.Tensor.view 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅40 paddle.Tensor.view_as 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
🔵41 paddle.Tensor.view_as_complex 1
✅42 paddle.Tensor.vsplit 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅43 paddle.adaptive_avg_pool1d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
🔵44 paddle.audio.datasets.ESC50 1
✅45 paddle.autograd.hessian 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅46 paddle.autograd.jacobian 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅47 paddle.compat.nn.Unfold 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅48 paddle.compat.split 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
🚧49 paddle.complex 1 🚧@Ricardo-shuo-liu PaddlePaddle/Paddle#76668
✅50 paddle.conv2d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅51 paddle.conv3d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
🚧52 paddle.cuda.get_device_capability 1 🚧@Ricardo-shuo-liu PaddlePaddle/Paddle#76668
🚧53 paddle.cuda.get_device_name 1 🚧@Ricardo-shuo-liu PaddlePaddle/Paddle#76668
🚧54 paddle.cuda.get_device_properties 1 🚧@Ricardo-shuo-liu PaddlePaddle/Paddle#76668
🚧55 paddle.device.default_backend.get_device_properties 1 🚧@Ricardo-shuo-liu PaddlePaddle/Paddle#76668
🔵56 paddle.distributed.CountFilterEntry 1
🔵57 paddle.distributed.ProbabilityEntry 1
🔵58 paddle.distributed.ShowClickEntry 1
🔵59 paddle.distributed.fleet.Fleet.minimize 1
✅60 paddle.distribution.Bernoulli.rsample 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅61 paddle.distribution.Bernoulli.sample 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅62 paddle.distribution.Cauchy.rsample 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅63 paddle.distribution.Cauchy.sample 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅64 paddle.distribution.Chi2 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅65 paddle.distribution.LKJCholesky 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
🔵66 paddle.distribution.StudentT 1
✅67 paddle.fft.fft2 1 ✅@fangfangssj PaddlePaddle/Paddle#76519
✅68 paddle.fft.fftn 1 ✅@fangfangssj PaddlePaddle/Paddle#76519
✅69 paddle.fft.ifft2 1 ✅@fangfangssj PaddlePaddle/Paddle#76519
✅70 paddle.fft.ifftn 1 ✅@fangfangssj PaddlePaddle/Paddle#76519
✅71 paddle.fft.ihfft 1 ✅@fangfangssj PaddlePaddle/Paddle#76519
✅72 paddle.fft.ihfftn 1 ✅@fangfangssj PaddlePaddle/Paddle#76519
✅73 paddle.fft.rfft 1 ✅@fangfangssj PaddlePaddle/Paddle#76519
✅74 paddle.fft.rfftn 1 ✅@fangfangssj PaddlePaddle/Paddle#76519
✅75 paddle.functional.meshgrid 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
🔵76 paddle.incubate.asp.decorate dynamic-graph, static-graph
🔵77 paddle.incubate.asp.prune_model dynamic-graph, static-graph
🔵78 paddle.incubate.asp.reset_excluded_layers dynamic-graph, static-graph
🔵79 paddle.incubate.asp.set_excluded_layers dynamic-graph, static-graph
✅80 paddle.incubate.nn.FusedBiasDropoutResidualLayerNorm 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅81 paddle.incubate.nn.FusedFeedForward 1 ✅@ooooo-create PaddlePaddle/Paddle#76563
✅82 paddle.incubate.nn.FusedLinear 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅83 paddle.incubate.nn.FusedMultiHeadAttention 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅84 paddle.incubate.nn.FusedTransformerEncoderLayer 1 ✅@ooooo-create PaddlePaddle/Paddle#76563
✅85 paddle.incubate.nn.functional.fused_bias_act 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅86 paddle.incubate.nn.functional.fused_bias_dropout_residual_layer_norm 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅87 paddle.incubate.nn.functional.fused_feedforward 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
🚧88 paddle.incubate.nn.functional.fused_multi_head_attention 1 🚧@pzc2004 PaddlePaddle/Paddle#76750
✅89 paddle.incubate.nn.functional.fused_stack_transpose_quant 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅90 paddle.incubate.nn.functional.fused_swiglu_weighted_bwd 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅91 paddle.incubate.nn.functional.fused_transpose_split_quant 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅92 paddle.incubate.nn.functional.fused_weighted_swiglu_act_quant 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅93 paddle.incubate.nn.functional.variable_length_memory_efficient_attention 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅94 paddle.incubate.softmax_mask_fuse 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
🚧95 paddle.is_grad_enabled 1 🚧@pzc2004 PaddlePaddle/Paddle#76750
🚧96 paddle.linalg.eigh 1 🚧@pzc2004 PaddlePaddle/Paddle#76750
🚧97 paddle.linalg.matrix_rank 1 🚧@pzc2004 PaddlePaddle/Paddle#76750
🚧98 paddle.load code-example-3 🚧@pzc2004 PaddlePaddle/Paddle#76750
✅99 paddle.nn.AdaptiveAvgPool1D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅100 paddle.nn.AdaptiveAvgPool2D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅101 paddle.nn.AdaptiveAvgPool3D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅102 paddle.nn.AdaptiveMaxPool1D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅103 paddle.nn.AdaptiveMaxPool2D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅104 paddle.nn.AdaptiveMaxPool3D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅105 paddle.nn.AvgPool1D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅106 paddle.nn.AvgPool2D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅107 paddle.nn.AvgPool3D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅108 paddle.nn.BiRNN 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅109 paddle.nn.Bilinear 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅110 paddle.nn.Conv1DTranspose 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅111 paddle.nn.Conv2D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅112 paddle.nn.Conv2DTranspose 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅113 paddle.nn.Conv3D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅114 paddle.nn.Conv3DTranspose 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅115 paddle.nn.Flatten 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅116 paddle.nn.Fold 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅117 paddle.nn.FractionalMaxPool2D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅118 paddle.nn.FractionalMaxPool3D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅119 paddle.nn.GRU 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅120 paddle.nn.GRUCell 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅121 paddle.nn.KLDivLoss 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅122 paddle.nn.LPPool1D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅123 paddle.nn.LPPool2D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅124 paddle.nn.LSTM 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅125 paddle.nn.LSTMCell 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅126 paddle.nn.LocalResponseNorm 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅127 paddle.nn.MaxPool1D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅128 paddle.nn.MaxPool2D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅129 paddle.nn.MaxPool3D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅130 paddle.nn.MaxUnPool1D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅131 paddle.nn.MaxUnPool2D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅132 paddle.nn.MaxUnPool3D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅133 paddle.nn.MultiHeadAttention 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅134 paddle.nn.ParameterDict 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅135 paddle.nn.ParameterList 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅136 paddle.nn.PixelShuffle 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅137 paddle.nn.PixelUnshuffle 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅138 paddle.nn.RNN 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅139 paddle.nn.SimpleRNN 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅140 paddle.nn.SimpleRNNCell 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅141 paddle.nn.SpectralNorm 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅142 paddle.nn.Transformer 1 ✅@ooooo-create PaddlePaddle/Paddle#76563
✅143 paddle.nn.TransformerDecoder 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅144 paddle.nn.TransformerDecoderLayer 1 ✅@ooooo-create PaddlePaddle/Paddle#76563
✅145 paddle.nn.TransformerEncoder 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅146 paddle.nn.TransformerEncoderLayer 1 ✅@ooooo-create PaddlePaddle/Paddle#76563
✅147 paddle.nn.Unflatten 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅148 paddle.nn.Unfold 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅149 paddle.nn.Upsample 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅150 paddle.nn.UpsamplingBilinear2D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅151 paddle.nn.UpsamplingNearest2D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅152 paddle.nn.dynamic_decode 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅153 paddle.nn.functional.adaptive_avg_pool2d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅154 paddle.nn.functional.adaptive_avg_pool3d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅155 paddle.nn.functional.adaptive_max_pool1d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅156 paddle.nn.functional.adaptive_max_pool2d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅157 paddle.nn.functional.adaptive_max_pool3d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅158 paddle.nn.functional.avg_pool1d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅159 paddle.nn.functional.avg_pool2d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅160 paddle.nn.functional.avg_pool3d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅161 paddle.nn.functional.bilinear 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅162 paddle.nn.functional.conv2d_transpose 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅163 paddle.nn.functional.conv3d_transpose 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅164 paddle.nn.functional.embedding 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅165 paddle.nn.functional.fold 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅166 paddle.nn.functional.fractional_max_pool2d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅167 paddle.nn.functional.fractional_max_pool3d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
🔵168 paddle.nn.functional.hsigmoid_loss 1
✅169 paddle.nn.functional.interpolate 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅170 paddle.nn.functional.kl_div 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅171 paddle.nn.functional.local_response_norm 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅172 paddle.nn.functional.lp_pool1d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅173 paddle.nn.functional.lp_pool2d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅174 paddle.nn.functional.max_pool1d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅175 paddle.nn.functional.max_pool2d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅176 paddle.nn.functional.max_pool3d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅177 paddle.nn.functional.max_unpool1d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅178 paddle.nn.functional.max_unpool2d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅179 paddle.nn.functional.max_unpool3d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅180 paddle.nn.functional.one_hot 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅181 paddle.nn.functional.pixel_shuffle 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅182 paddle.nn.functional.pixel_unshuffle 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅183 paddle.nn.functional.upsample 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅184 paddle.nn.initializer.Dirac 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅185 paddle.nn.quant.quant_layers.QuantizedConv2DTranspose 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅186 paddle.nn.utils.parameters_to_vector 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅187 paddle.nn.utils.weight_norm 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
🚧188 paddle.optimizer.lr.CosineAnnealingDecay code-example2 🚧@Forest-Lee PaddlePaddle/Paddle#76689
🚧189 paddle.optimizer.lr.CosineAnnealingWarmRestarts code-example2 🚧@Forest-Lee PaddlePaddle/Paddle#76689
🚧190 paddle.optimizer.lr.CyclicLR code-example2 🚧@Forest-Lee PaddlePaddle/Paddle#76689
✅191 paddle.optimizer.lr.ExponentialDecay code-example2 ✅@LingmaFuture PaddlePaddle/Paddle#76698
✅192 paddle.optimizer.lr.InverseTimeDecay code-example2 ✅@LingmaFuture PaddlePaddle/Paddle#76698
🚧193 paddle.optimizer.lr.LambdaDecay code-example2 🚧@Forest-Lee PaddlePaddle/Paddle#76689
🚧194 paddle.optimizer.lr.LinearLR code-static 🚧@Forest-Lee PaddlePaddle/Paddle#76689
🚧195 paddle.optimizer.lr.LinearWarmup code-example2 🚧@Forest-Lee PaddlePaddle/Paddle#76689
🚧196 paddle.optimizer.lr.MultiStepDecay code-example2 🚧@Forest-Lee PaddlePaddle/Paddle#76689
✅197 paddle.optimizer.lr.NaturalExpDecay code-example2 ✅@LingmaFuture PaddlePaddle/Paddle#76698
🚧198 paddle.optimizer.lr.NoamDecay code-example2 🚧@Forest-Lee PaddlePaddle/Paddle#76689
🚧199 paddle.optimizer.lr.OneCycleLR code-example2 🚧@Forest-Lee PaddlePaddle/Paddle#76689
🚧200 paddle.optimizer.lr.PiecewiseDecay code-example2 🚧@Forest-Lee PaddlePaddle/Paddle#76689
✅201 paddle.optimizer.lr.PolynomialDecay code-example2 ✅@LingmaFuture PaddlePaddle/Paddle#76698
🚧202 paddle.optimizer.lr.ReduceOnPlateau code-example2 🚧@Forest-Lee PaddlePaddle/Paddle#76689
✅203 paddle.optimizer.lr.StepDecay code-example2 ✅@LingmaFuture PaddlePaddle/Paddle#76698
🔵204 paddle.quantization.PTQ.convert 1
🔵205 paddle.save code-example-3
🚧206 paddle.sparse.deg2rad 1 🚧@A1nair PaddlePaddle/Paddle#76632
✅207 paddle.sparse.nn.BatchNorm 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅208 paddle.sparse.nn.Conv2D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅209 paddle.sparse.nn.Conv3D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅210 paddle.sparse.nn.MaxPool3D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅211 paddle.sparse.nn.SubmConv2D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅212 paddle.sparse.nn.SubmConv3D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅213 paddle.sparse.nn.functional.conv2d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅214 paddle.sparse.nn.functional.conv3d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅215 paddle.sparse.nn.functional.max_pool3d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅216 paddle.sparse.nn.functional.subm_conv2d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅217 paddle.sparse.nn.functional.subm_conv2d_igemm 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅218 paddle.sparse.nn.functional.subm_conv3d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅219 paddle.sparse.nn.functional.subm_conv3d_igemm 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅220 paddle.sparse.reshape 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
🔵221 paddle.static.BuildStrategy 1
🔵222 paddle.static.CompiledProgram 1
🔵223 paddle.static.Executor 1
🔵224 paddle.static.Executor.infer_from_dataset 1
🔵225 paddle.static.Executor.train_from_dataset 1
🔵226 paddle.static.ExponentialMovingAverage 1
🔵227 paddle.static.Variable code-example-1
🔵228 paddle.static.Variable.get_value 1
🔵229 paddle.static.Variable.set_value 1
🔵230 paddle.static.WeightNormParamAttr 1
🔵231 paddle.static.append_backward 1
🔵232 paddle.static.create_global_var 1
🔵233 paddle.static.deserialize_persistables 1
🔵234 paddle.static.deserialize_program 1
🔵235 paddle.static.load_from_file 1
🔵236 paddle.static.name_scope 1
🔵237 paddle.static.nn.batch_norm 1
🔵238 paddle.static.nn.bilinear_tensor_product 1
🔵239 paddle.static.nn.conv2d_transpose 1
🔵240 paddle.static.nn.conv3d 1
🔵241 paddle.static.nn.conv3d_transpose 1
🔵242 paddle.static.nn.deform_conv2d 1
🔵243 paddle.static.nn.group_norm 1
🔵244 paddle.static.nn.instance_norm 1
🔵245 paddle.static.nn.layer_norm 1
🔵246 paddle.static.nn.nce 1
🔵247 paddle.static.nn.py_func code-example1, code-example2
🔵248 paddle.static.nn.spectral_norm 1
🔵249 paddle.static.nn.switch_case 1
🔵250 paddle.static.save_to_file 1
🔵251 paddle.static.serialize_persistables 1
🔵252 paddle.static.serialize_program 1
🔵253 paddle.summary code-example-1, code-example-2, code-example-3, code-example-4
🔵254 paddle.text.Imdb 1
🔵255 paddle.text.Movielens 1
🔵256 paddle.text.UCIHousing 1
✅257 paddle.vision.models.AlexNet 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅258 paddle.vision.models.DenseNet 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
🚧259 paddle.vision.models.GoogLeNet 1 🚧@Forest-Lee PaddlePaddle/Paddle#76689
✅260 paddle.vision.models.InceptionV3 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅261 paddle.vision.models.LeNet 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅262 paddle.vision.models.MobileNetV1 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅263 paddle.vision.models.MobileNetV2 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅264 paddle.vision.models.MobileNetV3Large 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅265 paddle.vision.models.MobileNetV3Small 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅266 paddle.vision.models.ResNet 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅267 paddle.vision.models.ShuffleNetV2 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅268 paddle.vision.models.SqueezeNet 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅269 paddle.vision.models.VGG 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅270 paddle.vision.models.alexnet 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅271 paddle.vision.models.densenet121 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅272 paddle.vision.models.densenet161 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅273 paddle.vision.models.densenet169 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅274 paddle.vision.models.densenet201 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅275 paddle.vision.models.densenet264 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
🚧276 paddle.vision.models.googlenet 1 🚧@Forest-Lee PaddlePaddle/Paddle#76689
✅277 paddle.vision.models.inception_v3 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅278 paddle.vision.models.mobilenet_v1 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅279 paddle.vision.models.mobilenet_v2 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅280 paddle.vision.models.mobilenet_v3_large 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅281 paddle.vision.models.mobilenet_v3_small 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅282 paddle.vision.models.resnet101 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅283 paddle.vision.models.resnet152 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅284 paddle.vision.models.resnet18 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅285 paddle.vision.models.resnet34 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅286 paddle.vision.models.resnet50 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅287 paddle.vision.models.resnext101_32x4d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅288 paddle.vision.models.resnext101_64x4d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅289 paddle.vision.models.resnext152_32x4d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅290 paddle.vision.models.resnext152_64x4d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅291 paddle.vision.models.resnext50_32x4d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅292 paddle.vision.models.resnext50_64x4d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅293 paddle.vision.models.shufflenet_v2_swish 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅294 paddle.vision.models.shufflenet_v2_x0_25 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅295 paddle.vision.models.shufflenet_v2_x0_33 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅296 paddle.vision.models.shufflenet_v2_x0_5 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅297 paddle.vision.models.shufflenet_v2_x1_0 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅298 paddle.vision.models.shufflenet_v2_x1_5 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅299 paddle.vision.models.shufflenet_v2_x2_0 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅300 paddle.vision.models.squeezenet1_0 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅301 paddle.vision.models.squeezenet1_1 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅302 paddle.vision.models.vgg11 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅303 paddle.vision.models.vgg13 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅304 paddle.vision.models.vgg16 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅305 paddle.vision.models.vgg19 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅306 paddle.vision.models.wide_resnet101_2 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅307 paddle.vision.models.wide_resnet50_2 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅308 paddle.vision.ops.DeformConv2D 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅309 paddle.vision.ops.PSRoIPool 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅310 paddle.vision.ops.RoIAlign 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅311 paddle.vision.ops.RoIPool 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅312 paddle.vision.ops.decode_jpeg 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅313 paddle.vision.ops.deform_conv2d 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
🔵314 paddle.vision.ops.generate_proposals 1
✅315 paddle.vision.ops.psroi_pool 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅316 paddle.vision.ops.read_file 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅317 paddle.vision.ops.roi_align 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅318 paddle.vision.ops.roi_pool 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅319 paddle.vision.transforms.RandomAffine 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅320 paddle.vision.transforms.RandomCrop code-example1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅321 paddle.vision.transforms.RandomPerspective 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅322 paddle.vision.transforms.ToTensor 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅323 paddle.vision.transforms.affine 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅324 paddle.vision.transforms.perspective 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
✅325 paddle.vision.transforms.to_tensor 1 ✅@LittleHeroZZZX PaddlePaddle/Paddle#76574
🔵326 paddle.Model (timeout or error) code-example1, code-example2
🔵327 paddle.callbacks.EarlyStopping (timeout or error) 1
🔵328 paddle.callbacks.LRScheduler (timeout or error) 1
🔵329 paddle.callbacks.ModelCheckpoint (timeout or error) 1
🔵330 paddle.callbacks.ProgBarLogger (timeout or error) 1
🔵331 paddle.callbacks.ReduceLROnPlateau (timeout or error) 1
🙋332 paddle.distributed.fleet.Fleet.amp_init (timeout or error) 1 🙋@Chiwendaiyue
🙋333 paddle.distribution.Gumbel (bad statements) 1 🙋@Chiwendaiyue

任务认领方式

⭐️ 提交 PR 模版 ⭐️:

  • // ------- PR 标题 --------
[CodeStyle][Xdoctest][1] Fix example code(`paddle.DataParallel.astype`)

或者多个任务:

[CodeStyle][Xdoctest][1,2,3] Fix example code(`paddle.DataParallel.astype`,...)
[CodeStyle][Xdoctest][1-3] Fix example code(`paddle.DataParallel.astype`,...)

⭐️ 认领方式 ⭐️: 请大家以 comment 的形式认领任务,如:

【报名】:1、3、5-7

🎉 提交 PR 模版

<!-- TemplateReference: https://github.com/PaddlePaddle/Paddle/wiki/PULL-REQUEST-TEMPLATE--REFERENCE -->
<!-- Demo: https://github.com/PaddlePaddle/Paddle/pull/24810 -->

### PR Category
<!-- One of [ User Experience | Execute Infrastructure | Operator Mechanism | CINN | Custom Device | Performance Optimization | Distributed Strategy | Parameter Server | Communication Library | Auto Parallel | Inference | Environment Adaptation ] -->

User Experience

### PR Types
<!-- One of [ New features | Bug fixes | Improvements | Performance | BC Breaking | Deprecations | Docs | Devs | Not User Facing | Security | Deprecations | Others ] -->

Improvements

### Description
<!-- Describe what you’ve done -->

为如下 API 修复示例代码

- xxx
- xxx

### Related links

- #76545

@ooooo-create

状态介绍: ✅:已经完全迁移,所有单测都 OK! 🙋: 报名 🟢:审核完毕待合入,合入之后完成! 🔵:可认领! 🟡:当前阶段不需要人力继续跟进,下阶段推进 🚧:迁移中,单测还没有过,还没有审核完。

大致正常流程为: 🔵 -> 🙋 -> 🚧 -> 🟢 -> ✅

异常流程为: 🔵 -> 🙋 -> 🚧 -> 🟡

看板信息

📊任务数量 🔵可认领 🚧迁移中 🟢待合入 ✅完成 🟡下阶段推进 🏁完成率
333 59 33 0 234 0 70.3%

排名不分先后 @ooooo-create(7) @LittleHeroZZZX(214) @fangfangssj(8) @LingmaFuture(5)

ooooo-create avatar Nov 23 '25 08:11 ooooo-create

【报名】:6、13、81、84、142、144、146

ooooo-create avatar Nov 24 '25 07:11 ooooo-create

【报名】:8、12、15、16、18、19、20、22、23、24、25、26、29、30、31、32、34、35、36、38、39、40、42、43、45、46、47、48、50、51、60、61、62、63、64、65、75、80、82、83、85、86、87、89、90、91、92、93、94、99、100、101、102、103、104、105、106、107、108、109、110、111、112、113、114、115、116、117、118、119、120、121、122、123、124、125、126、127、128、129、130、131、132、133、134、135、136、137、138、139、140、141、143、145、147、148、149、150、151、152、153、154、155、156、157、158、159、160、161、162、163、164、165、166、167、169、170、171、172、173、174、175、176、177、178、179、180、181、182、183、184、185、186、187、207、208、209、210、211、212、213、214、215、216、217、218、219、220、257、258、260、261、262、263、264、265、266、267、268、269、270、271、272、273、274、275、277、278、279、280、281、282、283、284、285、286、287、288、289、290、291、292、293、294、295、296、297、298、299、300、301、302、303、304、305、306、307、308、309、310、311、312、313、315、316、317、318、319、320、321、322、323、324、325

LittleHeroZZZX avatar Nov 25 '25 07:11 LittleHeroZZZX

【报名】: 1、2、3、4、5

ADchampion3 avatar Nov 25 '25 08:11 ADchampion3

【报名】: 67、68、69、70、71、72、73、74

fangfangssj avatar Nov 25 '25 09:11 fangfangssj

【报名】:332、333

Chiwendaiyue avatar Nov 25 '25 11:11 Chiwendaiyue

【报名】:191、192、197、201、203

LingmaFuture avatar Nov 25 '25 14:11 LingmaFuture

【报名】:7、9-11、14

SidusAntares avatar Nov 26 '25 08:11 SidusAntares

【报名】:206

A1nair avatar Nov 26 '25 09:11 A1nair

【报名】:17、21、27、28

WHoutstanding avatar Nov 27 '25 01:11 WHoutstanding

【报名】33、37、41、44

JiaViii avatar Nov 27 '25 03:11 JiaViii

【报名】49,52,53,54,55

Ricardo-shuo-liu avatar Nov 27 '25 09:11 Ricardo-shuo-liu

【报名】:188-190、193-196、198-200、202、259、276

Forest-Lee avatar Nov 27 '25 14:11 Forest-Lee

【报名】237、243、245

NUMS-half avatar Nov 30 '25 18:11 NUMS-half

【报名】:88、95、96、97、98

pzc2004 avatar Dec 02 '25 20:12 pzc2004

【报名】:221-225

hmmnxkl avatar Dec 04 '25 12:12 hmmnxkl

【报名】:33、37

hejiedsb avatar Dec 07 '25 06:12 hejiedsb

【报名】:221

Jane-Fun123 avatar Dec 13 '25 09:12 Jane-Fun123

【报名】:254-256

Z784555 avatar Dec 14 '25 14:12 Z784555