diff --git a/WeeklyReports/Hackathon_10th/02_algorithm1832/[WeeklyReport]2026.02.02~2026.02.15.md b/WeeklyReports/Hackathon_10th/02_algorithm1832/[WeeklyReport]2026.02.02~2026.02.15.md new file mode 100644 index 00000000..d7260277 --- /dev/null +++ b/WeeklyReports/Hackathon_10th/02_algorithm1832/[WeeklyReport]2026.02.02~2026.02.15.md @@ -0,0 +1,46 @@ +### 姓名 + +杨锃砚 + + + +### 实习项目 + +Paddle API兼容性增强 + + + +### 本双周工作 + +1. **使用overload增强自定义别名装饰器可读性** + +- https://github.com/PaddlePaddle/Paddle/pull/77632 +- 状态:已合入 +- 所属:衍生的杂项任务 +- 描述: + - 部分逻辑重复的自定义装饰器换成通用装饰器,提高性能 + - 对于自定义添加别名的装饰器,对应方法增加overload(paddle调用方式、torch调用方式),增加代码可读性 + - 添加了一些示例代码 + - 目前只有示例代码包含的用法,才会在static-check中检查到,经过文档检查,实际上仍然存在部分方法示例代码并没有覆盖此函数所有的用法。在这种情况下,如果overload或者函数签名写的不对,则检查不出来。本PR添加的示例代码主要是为了通过static-check检验添加的overload是否和调用一致 + - 原先对python的overload的作用和可变参数类型不太理解,所以此PR后面又经过了几次修订才被合入,非常感谢@SigureMo, @zhwesky2010的指导 + +2. **python_api_info.yaml支持inplace API的配置** + +- https://github.com/PaddlePaddle/Paddle/pull/77751 +- https://github.com/PaddlePaddle/Paddle/pull/77778 +- https://github.com/PaddlePaddle/Paddle/pull/77824 +- 状态:已合入 +- 所属:inplace API下沉系列任务 +- 描述: + - 原先代码生成逻辑存在一些冗余,且将解析得到的python_api_info作为类成员进行存储,实际上此信息只在子类中进行使用,#77751和#77778将对应的逻辑从父类移除,实际检索python_api_info的逻辑放到`monkey_patch_gen`和`python_c_gen`内部 + - 对于inplace API,原先逻辑实际上是复用python_api_info中对于非inplace版本API的内容,对于需要单独添加pre-process或者arg-mapper的那些inplace API,对应的定义不会生效。#77824在前面PR整理的逻辑上,对于inplace和非inplace版本的API分别调用代码生成,读取各自的python_api_info。除此之外还整理了代码生成的逻辑,添加了一些注释,将可复用的逻辑抽成方法 + + + +### 下双周工作 + +1. 优化兼容性装饰器的报错提示信息 +2. 优化API的英文文档,完善兼容性别名的说明 +3. 如有时间剩余,继续认领完成其它任务 + +