Open megemini opened 2 weeks ago
✨️ 大家好!✨️
此次任务为 为 Paddle 框架 API 添加类型提示(Type Hints) 的子任务。
即,将原本的 裸
函数:
def log(x, name=None):
...
标注为:
def log(x: paddle.Tensor, name: str | None = None) -> paddle.Tensor:
...
Python 在 3.5 版本通过 PEP 484 – Type Hints 正式规范了 类型提示
功能,可以提升开发者的使用体验并提高代码质量。Paddle 目前最低支持的 Python 版本 3.8
已经可以较好的支持 类型提示
,特发起此次任务,旨在完成 Paddle 目前公开 API 的类型标注!
欢迎大家参与! 非常感谢!:) 🎉🎉🎉
此次参与的流程大致为:
✨ 点击下列标题查看详情!✨
最后,再次感谢大家的参与与贡献 ~ 🏆️🏆️🏆️
参考项目:
优秀 PR 赏析:
关联链接:
Python 文档:
@SigureMo @zrr1999 @Asthestarsfalll @gouzil @gsq7474741 @sunzhongkai588 @luotao1
变量 | 标注 |
---|---|
name=None |
name: str \| None = None |
【报名】:A16,A17,A18,A19
【报名】:A-60
【报名】:A-2,A-4
【报名】:A-64
【报名】:A-47
【报名】:A-57
【报名】:A-8
【报名】:A-48、A-49、A-50、A-51
【报名】:A-3
【报名】:A-3
@Liyulingyue @liyongchao911 @DrRyanHuang @ooooo-create @zrr1999 @gouzil @sunzhongkai588
之前 @SigureMo 有一个开源项目,是单独的 stub 标注文件的,可以参考一下里面已经标注的部分 ~
【报名】:A-29、A-53、A-34
【报名】:A-39、A-51
【报名】:A-16、A-19
【报名】:A-15
【报名】:A-54、A-55、A-56、A-61、A-62、A-65
【报名】:A-68
【报名】:A-40、A-41、A-42
【报名】:A10、A11、A12
【报名】:A-5
【报名】:A-6、A-7
【报名】:A-77、A-73
【报名】:A-75、A-76、A-78、A-79、A-84
【报名】:A-20、A-21、A-22、A-23、A-24、A-25
【报名】:A-14、A-26、A-37、A-38
佬们,写了一个解析docstring自动生成type hiting的脚本,虽然代码写得拉但是实测基本是可用的。不过格式会乱,需要单独生成再把函数签名复制过去。
代码如下:
【报名】:A-85
【报名】:A-139
【报名】:A-86
commit
https://github.com/PaddlePaddle/Paddle/commit/ed8168db34c1c520533b14c11869e920c64118bb#### 🔛 第 1 批
| 序号 | 文件 | API 数量 | 认领人 Github id | PR 链接 | | ------ | ------------------------------------------------------ | ------ | --------------------------------------- | ------------------------- | | ✅A-1 | paddle/tensor/array.py | 4 | ✅@zrr1999 | PaddlePaddle/Paddle#65009 | | ✅A-2 | paddle/tensor/attribute.py | 7 | ✅@zrr1999 | PaddlePaddle/Paddle#65255 | | ✅A-3 | paddle/tensor/creation.py | 28 | ✅@zrr1999 | PaddlePaddle/Paddle#65082 | | ✅A-4 | paddle/tensor/einsum.py | 7 | ✅@zrr1999 | PaddlePaddle/Paddle#65255 | | ✅A-5 | paddle/tensor/linalg.py | 40 | ✅@gouzil | PaddlePaddle/Paddle#65274 | | ✅A-6 | paddle/tensor/logic.py | 35 | ✅@Asthestarsfalll | PaddlePaddle/Paddle#65300 | | ✅A-7 | paddle/tensor/manipulation.py | 77 | ✅@Asthestarsfalll | PaddlePaddle/Paddle#65351 | | ✅A-8 | paddle/tensor/math.py | 192 | ✅@SigureMo | PaddlePaddle/Paddle#65073 | | ✅A-9 | paddle/tensor/ops.py | 43 | ✅@gouzil | PaddlePaddle/Paddle#65249 | | ✅A-10 | paddle/tensor/random.py | 15 | ✅@ooooo-create | PaddlePaddle/Paddle#65272 | | ✅A-11 | paddle/tensor/search.py | 16 | ✅@ooooo-create | PaddlePaddle/Paddle#65354 | | ✅A-12 | paddle/tensor/stat.py | 9 | ✅@ooooo-create | PaddlePaddle/Paddle#65337 | | ✅A-13 | paddle/tensor/to_string.py | 2 | ✅@gouzil | PaddlePaddle/Paddle#65042 | | ✅A-14 | paddle/nn/layer/activation.py | 11 | ✅@ooooo-create | PaddlePaddle/Paddle#65372 | | ✅A-15 | paddle/nn/layer/common.py | 20 | ✅@megemini | PaddlePaddle/Paddle#65197 | | ✅A-16 | paddle/nn/layer/container.py | 2 | ✅@SigureMo🙋@liyongchao911
| PaddlePaddle/Paddle#65190 | | ✅A-17 | paddle/nn/layer/conv.py | 7 | ✅@liyongchao911 | PaddlePaddle/Paddle#65183 | | ✅A-18 | paddle/nn/layer/distance.py | 2 | ✅@liyongchao911 | PaddlePaddle/Paddle#65127 | | ✅A-19 | paddle/nn/layer/layers.py | 1 | ✅@SigureMo
🙋@liyongchao911
| PaddlePaddle/Paddle#65190 | | ✅A-20 | paddle/nn/layer/loss.py | 21 | ✅@Asthestarsfalll | PaddlePaddle/Paddle#65376 | | ✅A-21 | paddle/nn/layer/norm.py | 9 | ✅@Asthestarsfalll | PaddlePaddle/Paddle#65454 | | ✅A-22 | paddle/nn/layer/pooling.py | 18 | ✅@Asthestarsfalll | PaddlePaddle/Paddle#65460 | | ✅A-23 | paddle/nn/layer/rnn.py | 2 | ✅@Asthestarsfalll | PaddlePaddle/Paddle#65375 | | ✅A-24 | paddle/nn/layer/transformer.py | 4 | ✅@Asthestarsfalll | PaddlePaddle/Paddle#65457 | | ✅A-25 | paddle/nn/layer/vision.py | 4 | ✅@Asthestarsfalll | PaddlePaddle/Paddle#65455 | | ✅A-26 | paddle/vision/transforms/transforms.py | 22 | ✅@ooooo-create | PaddlePaddle/Paddle#65378 | | ✅A-27 | paddle/nn/initializer/assign.py | 3 | ✅@gouzil | PaddlePaddle/Paddle#65206 | | ✅A-28 | paddle/nn/initializer/bilinear.py | 2 | ✅@gouzil | PaddlePaddle/Paddle#65206 | | ✅A-29 | paddle/nn/initializer/constant.py | 3 | ✅@DrRyanHuang | PaddlePaddle/Paddle#65095 | | ✅A-30 | paddle/nn/initializer/dirac.py | 2 | ✅@gouzil | PaddlePaddle/Paddle#65087 | | ✅A-31 | paddle/nn/initializer/initializer.py | 2 | ✅@gouzil | PaddlePaddle/Paddle#65087 | | ✅A-32 | paddle/nn/initializer/kaiming.py | 5 | ✅@gouzil | PaddlePaddle/Paddle#65206 | | ✅A-33 | paddle/nn/initializer/normal.py | 5 | ✅@gouzil | PaddlePaddle/Paddle#65206 | | ✅A-34 | paddle/nn/initializer/orthogonal.py | 2 | ✅@DrRyanHuang | PaddlePaddle/Paddle#65125 | | ✅A-35 | paddle/nn/initializer/uniform.py | 3 | ✅@gouzil | PaddlePaddle/Paddle#65206 | | ✅A-36 | paddle/nn/initializer/xavier.py | 4 | ✅@gouzil | PaddlePaddle/Paddle#65206 | | ✅A-37 | paddle/optimizer/adadelta.py | 2 | ✅@ooooo-create | PaddlePaddle/Paddle#65464 | | ✅A-38 | paddle/optimizer/adagrad.py | 2 | ✅@ooooo-create | PaddlePaddle/Paddle#65464 | | ✅A-39 | paddle/optimizer/adam.py | 2 | ✅@ooooo-create | PaddlePaddle/Paddle#65076 | | ✅A-40 | paddle/optimizer/adamax.py | 2 | ✅@ooooo-create | PaddlePaddle/Paddle#65236 | | ✅A-41 | paddle/optimizer/adamw.py | 2 | ✅@ooooo-create | PaddlePaddle/Paddle#65236 | | ✅A-42 | paddle/optimizer/asgd.py | 2 | ✅@ooooo-create | PaddlePaddle/Paddle#65236 | | ✅A-43 | paddle/optimizer/lamb.py | 2 | ✅@gouzil | PaddlePaddle/Paddle#65247 | | ✅A-44 | paddle/optimizer/lbfgs.py | 2 | ✅@enkilee | PaddlePaddle/Paddle#65308 | | ✅A-45 | paddle/optimizer/momentum.py | 2 | ✅@enkilee | PaddlePaddle/Paddle#65284 | | ✅A-46 | paddle/optimizer/nadam.py | 2 | ✅@enkilee | PaddlePaddle/Paddle#65273 | | ✅A-47 | paddle/optimizer/optimizer.py | 1 | ✅@ooooo-create | PaddlePaddle/Paddle#65076 | | ✅A-48 | paddle/optimizer/radam.py | 2 | ✅@DrRyanHuang | PaddlePaddle/Paddle#65085 | | ✅A-49 | paddle/optimizer/rmsprop.py | 2 | ✅@DrRyanHuang | PaddlePaddle/Paddle#65085 | | ✅A-50 | paddle/optimizer/rprop.py | 2 | ✅@DrRyanHuang | PaddlePaddle/Paddle#65085 | | ✅A-51 | paddle/optimizer/sgd.py | 2 | ✅@ooooo-create
🙋@DrRyanHuang
| PaddlePaddle/Paddle#65076 | | 🔵A-52 | paddle/hapi/model.py | 2 | | | | ✅A-53 | paddle/hapi/model_summary.py | 1 | ✅@DrRyanHuang | PaddlePaddle/Paddle#65086 | | ✅A-54 | paddle/nn/functional/activation.py | 36 | ✅@gsq7474741 | PaddlePaddle/Paddle#65191 | | ✅A-55 | paddle/nn/functional/common.py | 15 | ✅@gsq7474741 | PaddlePaddle/Paddle#65191 | | ✅A-56 | paddle/nn/functional/conv.py | 6 | ✅@gsq7474741 | PaddlePaddle/Paddle#65191 | | ✅A-57 | paddle/nn/functional/distance.py | 2 | ✅@DrRyanHuang | PaddlePaddle/Paddle#65071 | | ✅A-58 | paddle/nn/functional/extension.py | 4 | ✅@Asthestarsfalll | PaddlePaddle/Paddle#65380 | | ✅A-59 | paddle/nn/functional/flash_attention.py | 6 | ✅@Asthestarsfalll | PaddlePaddle/Paddle#65380 | | ✅A-60 | paddle/nn/functional/input.py | 2 | ✅@sunzhongkai588 | PaddlePaddle/Paddle#65317 | | ✅A-61 | paddle/nn/functional/loss.py | 29 | 🙋@gsq7474741
✅@Asthestarsfalll
| PaddlePaddle/Paddle#65376 | | ✅A-62 | paddle/nn/functional/norm.py | 6 | 🙋@gsq7474741
✅@Asthestarsfalll
| PaddlePaddle/Paddle#65454 | | ✅A-63 | paddle/nn/functional/pooling.py | 17 | ✅@Asthestarsfalll | PaddlePaddle/Paddle#65460 | | ✅A-64 | paddle/nn/functional/sparse_attention.py | 1 | ✅@Liyulingyue | PaddlePaddle/Paddle#65064 | | ✅A-65 | paddle/nn/functional/vision.py | 5 | 🙋@gsq7474741
✅@Asthestarsfalll
| PaddlePaddle/Paddle#65455 | | ✅A-66 | paddle/base/dygraph/math_op_patch.py | 12 | ✅@SigureMo | PaddlePaddle/Paddle#65201 | | ✅A-67 | paddle/base/dygraph/tensor_patch_methods.py | 20 | ✅@SigureMo | PaddlePaddle/Paddle#65201 | | ✅A-68 | paddle/regularizer.py | 2 | ✅@DrRyanHuang | PaddlePaddle/Paddle#65226 | | ✅A-69 | python/paddle/optimizer/lr.py | 18 | ✅@SigureMo | PaddlePaddle/Paddle#65209 | | ✅A-70 | python/paddle/hub.py | 3 | ✅@SigureMo | PaddlePaddle/Paddle#65238 | | ✅A-71 | python/paddle/sysconfig.py | 2 | ✅@SigureMo | PaddlePaddle/Paddle#65238 | | ✅A-72 | setup.py & python/setup.pyi | 8 | ✅@SigureMo | PaddlePaddle/Paddle#65244 | | ✅A-73 | python/paddle/vision/models/alexnet.py | 2 | ✅@DrRyanHuang | PaddlePaddle/Paddle#65283 | | ✅A-74 | python/paddle/vision/models/densenet.py | 6 | ✅@Asthestarsfalll | PaddlePaddle/Paddle#65486 | | ✅A-75 | python/paddle/vision/models/googlenet.py | 2 | ✅@DrRyanHuang | PaddlePaddle/Paddle#65290 | | ✅A-76 | python/paddle/vision/models/inceptionv3.py | 2 | ✅@DrRyanHuang | PaddlePaddle/Paddle#65292 | | ✅A-77 | python/paddle/vision/models/lenet.py | 1 | ✅@DrRyanHuang | PaddlePaddle/Paddle#65283 | | ✅A-78 | python/paddle/vision/models/mobilenetv1.py | 2 | ✅@DrRyanHuang | PaddlePaddle/Paddle#65323 | | ✅A-79 | python/paddle/vision/models/mobilenetv2.py | 2 | ✅@DrRyanHuang | PaddlePaddle/Paddle#65326 | | ✅A-80 | python/paddle/vision/models/mobilenetv3.py | 4 | ✅@enkilee | PaddlePaddle/Paddle#65366 | | ✅A-81 | python/paddle/vision/models/resnet.py | 14 | ✅@Asthestarsfalll | PaddlePaddle/Paddle#65487 | | 🟢A-82 | python/paddle/vision/models/shufflenetv2.py | 8 | 🟢@Asthestarsfalll | PaddlePaddle/Paddle#65559 | | 🚧A-83 | python/paddle/vision/transforms/functional.py | 16 | 🚧@Asthestarsfalll | PaddlePaddle/Paddle#65560 | | ✅A-84 | python/paddle/vision/models/squeezenet.py | 3 | ✅@DrRyanHuang | PaddlePaddle/Paddle#65332 | | ✅A-85 | python/paddle/vision/models/vgg.py | 5 | ✅@86kkd | PaddlePaddle/Paddle#65381 | | ✅A-86 | python/paddle/vision/datasets/cifar.py | 2 | ✅@86kkd | PaddlePaddle/Paddle#65386 | | ✅A-87 | python/paddle/vision/datasets/flowers.py | 1 | ✅@enkilee | PaddlePaddle/Paddle#65504 | | 🚧A-88 | python/paddle/vision/datasets/folder.py | 2 | 🚧@enkilee | PaddlePaddle/Paddle#65532 | | 🚧A-89 | python/paddle/vision/datasets/mnist.py | 2 | 🚧@enkilee | PaddlePaddle/Paddle#65553 | | 🔵A-90 | python/paddle/vision/datasets/voc2012.py | 1 | | | | 🔵A-91 | python/paddle/metric/metrics.py | 6 | | | | ✅A-92 | python/paddle/vision/image.py | 3 | ✅@86kkd | PaddlePaddle/Paddle#65386 | | 🔵A-93 | python/paddle/vision/ops.py | 18 | | | | 🔵A-94 | python/paddle/signal.py | 2 | | | | 🔵A-95 | python/paddle/fft.py | 22 | | | | 🔵A-96 | python/paddle/hapi/callbacks.py | 8 | | | | 🔵A-97 | python/paddle/io/reader.py | 1 | | | | 🔵A-98 | python/paddle/io/dataloader/batch_sampler.py | 2 | | | | 🔵A-99 | python/paddle/io/dataloader/dataset.py | 8 | | | | 🔵A-100 | python/paddle/io/dataloader/sampler.py | 5 | | | | 🔵A-101 | python/paddle/io/dataloader/worker.py | 1 | | | | 🔵A-102 | python/paddle/distribution/bernoulli.py | 2 | | | | 🔵A-103 | python/paddle/distribution/beta.py | 3 | | | | 🔵A-104 | python/paddle/distribution/binomial.py | 2 | | | | 🔵A-105 | python/paddle/distribution/categorical.py | 3 | | | | 🔵A-106 | python/paddle/distribution/cauchy.py | 2 | | | | 🔵A-107 | python/paddle/distribution/chi2.py | 1 | | | | 🔵A-108 | python/paddle/distribution/continuous_bernoulli.py | 2 | | | | 🔵A-109 | python/paddle/distribution/dirichlet.py | 2 | | | | 🔵A-110 | python/paddle/distribution/distribution.py | 1 | | | | 🔵A-111 | python/paddle/distribution/exponential.py | 3 | | | | 🔵A-112 | python/paddle/distribution/exponential_family.py | 2 | | | | 🔵A-113 | python/paddle/distribution/gamma.py | 3 | | | | 🔵A-114 | python/paddle/distribution/geometric.py | 2 | | | | 🔵A-115 | python/paddle/distribution/gumbel.py | 2 | | | | 🔵A-116 | python/paddle/distribution/independent.py | 2 | | | | 🔵A-117 | python/paddle/distribution/kl.py | 2 | | | | 🔵A-118 | python/paddle/distribution/laplace.py | 2 | | | | 🔵A-119 | python/paddle/distribution/lkj_cholesky.py | 1 | | | | 🔵A-120 | python/paddle/distribution/lognormal.py | 4 | | | | 🔵A-121 | python/paddle/distribution/multinomial.py | 3 | | | | 🔵A-122 | python/paddle/distribution/multivariate_normal.py | 2 | | | | 🔵A-123 | python/paddle/distribution/normal.py | 2 | | | | 🔵A-124 | python/paddle/distribution/poisson.py | 2 | | | | 🔵A-125 | python/paddle/distribution/student_t.py | 3 | | | | 🔵A-126 | python/paddle/distribution/transform.py | 13 | | | | 🔵A-127 | python/paddle/distribution/transformed_distribution.py | 4 | | | | 🔵A-128 | python/paddle/distribution/uniform.py | 2 | | | | 🔵A-129 | python/paddle/distribution/variable.py | 2 | | | | 🔵A-130 | python/paddle/device/`__init__.py` | 22 | | | | 🔵A-131 | python/paddle/device/cuda/`__init__.py` | 14 | | | | 🔵A-132 | python/paddle/device/xpu/`__init__.py` | 1 | | | | 🔵A-133 | python/paddle/amp/amp_lists.py | 2 | | | | 🔵A-134 | python/paddle/amp/auto_cast.py | 7 | | | | 🔵A-135 | python/paddle/amp/debugging.py | 10 | | | | 🔵A-136 | python/paddle/amp/grad_scaler.py | 4 | | | | 🔵A-137 | python/paddle/amp/`__init__.py` | 2 | | | | 🔵A-138 | python/paddle/autograd/autograd.py | 2 | | | | 🙋A-139 | python/paddle/autograd/saved_tensors_hooks.py | 1 | 🙋@DrRyanHuang | | | 🔵A-140 | python/paddle/autograd/backward_mode.py | 1 | | | | 🔵A-141 | python/paddle/autograd/ir_backward.py | 3 | | | | 🔵A-142 | python/paddle/autograd/py_layer.py | 2 | | |
#### 🔜 第 2 批
⭐️ 提交PR 模版 ⭐️:
或者多个任务:
⭐️ 认领方式 ⭐️: 请大家以 comment 的形式认领任务,如:
状态介绍: ✅:已经完全迁移,所有单测都OK! 🟢:审核完毕待合入,合入之后完全迁移! 🔵:可认领! 🟡:当前阶段不需要人力继续跟进,下阶段推进 🚧:迁移中,单测还没有过,还没有审核完。
大致正常流程为: 🔵 -> 🚧 -> 🟢 -> ✅
异常流程为: 🔵 -> 🚧 -> 🟡
看板信息