Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WeeklyReport] qzylalala 2024.07.29~2024.08.11 #359

Merged
merged 4 commits into from
Oct 29, 2024
Merged
Show file tree
Hide file tree
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,20 @@
### 姓名

秦忠宇

### 实习项目

飞桨PaddlePaddle-PIR适配2ONNX推理转换

### 本周工作

1. 和 mentor商讨后暂定技术路线为 PIR Parser 走单独的逻辑。
2. 修改 CMakeLists,支持 vscode 能够断点调试 Python & C++ 混合项目的 C++ 部分代码。参见 [PR](https://github.com/PaddlePaddle/Paddle2ONNX/pull/1353)。
3. 和 mentor 敲定使用 paddle 中的接口进行 PIR Program recovery,避免重复造轮子。

### 下周工作

3. 完成 PIR Program 的 recover 代码逻辑。
4. 对照学习 PaddleParser 实现的功能模块,新建 PirPaddleParser 实现对应的功能。

### 导师点评
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
### 姓名

秦忠宇

### 实习项目

飞桨PaddlePaddle-PIR适配2ONNX推理转换

### 本周工作

1. 添加 mentor 的仓库链接到 remote, 拉取未合并的 pr 代码, 保持代码同步开发, 避免重复造轮子
2. 新代码编译遇到问题,找不到 `paddle/fluid/pir/dialect/operator/ir/op_dialect.h` 更新 Paddle 版本至最新解决了该问题
3. 整体工作主要分为两部分 :
1. Paddle PIR Parser 的初始化工作 LoadProgram、LoadParameters, 和 mentor 分别自己写了 LoadProgram, 现在把 mentor 的开发仓库添加到 remote 保持代码一致, LoadParameters 暂时使用了 mentor 实现的版本
2. ModelExporter 进行导出, 这两周梳理了其导出逻辑依赖的 PaddleParser 的接口
1. register_mapper 逻辑与 PaddleParser 无关,可以直接复用
- [ ] CreateMapper
2. data_helper 逻辑与 PaddleParser 无关,可以直接复用
3. onnx_helper 逻辑与 PaddleParser 无关,可以直接复用
4. mapper 逻辑与 PaddleParser 相关
- [ ] GetOpDesc
- [ ] OpHasInput
- [ ] OpHasOutput
- [ ] OpHasAttr
- [ ] GetOpInput
- [ ] GetOpOutput
- [ ] GetOpAttr
- [ ] GetOpAttrVar
- [ ] OpIsAttrVar
- [ ] IsConstantTensor
- [ ] TryGetTensorValue
5. export 逻辑与 PaddleParser 相关,主要是在 ModelExporter 类中的方法涉及到
- [ ] NumOfBlocks
- [ ] NumOfOps
- [ ] GetOpDesc
- [ ] GetOpInput
- [ ] GetOpOutput
- [ ] parser.inputs
- [ ] parser.outputs
- [ ] parser.params
- [ ] parser.is_quantized_model
6. quanize_helper 逻辑与 PaddleParser 相关,涉及到两个接口
- [ ] NumOfBlocks
- [ ] TryGetTensorValue

### 下周工作

1. 为 PaddlePirParser 逐步实现梳理出来的 ModelExporter 依赖的 PaddleParser 接口

### 导师点评
Loading