Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -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. 如有时间剩余,继续认领完成其它任务


Loading