Skip to content

📝 文档示例代码修复任务 #76545

@ooooo-create

Description

@ooooo-create

任务背景

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

随着框架的不断迭代,涉及 API 的 PR 合入的越来越多,例如 #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,具体背景参考 [CodeStyle] Enable docstring code format and start to use pycon as syntax highlight marker #76542 ,我们只需要修改我们认领的 API。

任务列表

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

任务认领方式

⭐️ 提交 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 326 7 0 0 0 0.0%

排名不分先后

Metadata

Metadata

Labels

PFCCPaddle Framework Contributor Club,https://github.com/PaddlePaddle/community/tree/master/pfccgood first issue

Type

No type

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions