Skip to content

Commit 390830a

Browse files
committed
Merge branch 'main' of https://github.com/PFCCLab/Camp into Manfredss/WeeklyReport
2 parents 1ff296d + 7e18267 commit 390830a

File tree

8 files changed

+288
-0
lines changed

8 files changed

+288
-0
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
### 姓名
2+
3+
谢润明
4+
5+
### 实习项目
6+
7+
Paddle C++ API生态兼容建设
8+
9+
### 本周工作
10+
11+
1. `TensorBase.h` 下新增 `reset` 兼容接口
12+
13+
https://github.com/PaddlePaddle/Paddle/pull/77127
14+
15+
https://github.com/PFCCLab/PaddleCppAPITest/pull/9
16+
17+
2. `TensorBase.h` 下新增 `storage` 兼容接口
18+
19+
https://github.com/PaddlePaddle/Paddle/pull/77176
20+
21+
https://github.com/PFCCLab/PaddleCppAPITest/pull/14
22+
23+
3. `TensorBase.h` 下新增 `layout` 兼容接口
24+
25+
https://github.com/PaddlePaddle/Paddle/pull/77185
26+
27+
https://github.com/PFCCLab/PaddleCppAPITest/pull/13
28+
29+
4. `PaddleCppAPITest` 仓库新增 `TensorBase.h` 文档
30+
31+
https://github.com/PFCCLab/PaddleCppAPITest/pull/15
32+
33+
### 下周工作
34+
35+
1. 继续完善 `TensorBase.h` 头文件
36+
37+
### 导师点评
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
### 姓名
2+
3+
杨锃砚
4+
5+
6+
7+
### 实习项目
8+
9+
Paddle API兼容性增强
10+
11+
12+
13+
### 本双周工作
14+
15+
1. **修复eager_api从kwarg获取内容的逻辑**
16+
17+
- https://github.com/PaddlePaddle/Paddle/pull/77234
18+
- 状态:已合入
19+
- 所属:衍生的杂项任务
20+
- 描述:
21+
- 修改了`op_function_common.cc`中的方法`GetItemFromArgsOrKWArgs`,使得PyObject能够从kwargs中多次获取。
22+
- 原先此函数的逻辑为解析输入、将PyObject从args和kwargs取出,每次从kwargs取走一个对象,计数减一,为后续kwargs数量校验服务。然而kwargs数量校验完毕后,仍会存在从kwargs中取PyObject的需求,此时计数没有意义,因而移除了对于计数的判断。
23+
24+
2. **torch.std对齐**
25+
26+
- https://github.com/PaddlePaddle/Paddle/pull/77006
27+
- 状态:Paddle仓库已合入,PaConvert和中文文档修改进行中
28+
- 所属:API兼容性增强任务
29+
- 描述:
30+
- 使用参数转发的方式,为`std`添加了torch形式的参数别名和其它缺少的参数。
31+
- `std`实际上是依次执行`var``sqrt`,而这两个API兼容性适配已经完成。因此经过讨论决定不使用别名装饰器,减小性能的损耗。直接进行参数转发,将参数转发给`var`,通过overload和处理签名的装饰器来为方法添加签名。同时补充了兼容性的单测,顺便修了单测所属文件内的typo。
32+
33+
3. **abs_下沉**
34+
35+
- https://github.com/PaddlePaddle/Paddle/pull/77294
36+
- 状态:Paddle仓库Review进行中
37+
- 所属:API兼容性增强任务、inplace API下沉系列任务
38+
- 描述:
39+
- See Also: https://github.com/PaddlePaddle/Paddle/pull/76994
40+
- See Also: https://github.com/PaddlePaddle/Paddle/pull/76431
41+
- 为inplace api的eager_api增加了从kwarg取结果的逻辑、增加了inplace api的kwarg数量检查逻辑、下沉了`abs_`,补充了下沉后的相关单测。
42+
- 第一版方案:增加从kwarg取结果的逻辑,修改`ToPyObject`方法。
43+
- 第二版方案:尽可能复用已有代码,从kwarg取内容的逻辑可以使用`GetItemFromArgsOrKWArgs`,这样只需要一个map(输出位置 - PyObject)。
44+
- 后来决定使用第一版方案,因为第二版过于复杂。由于涉及到代码生成逻辑,对于返回PyTuple类型的处理等,因此整个过程花费了较多时间。
45+
46+
4. **`ChainDataset`, `ConcatDataset`, `Dataset`, `IterableDataset`对齐**
47+
48+
- 状态:正在实现和测试当前方案
49+
- 所属:API兼容性增强任务
50+
- 描述:
51+
- See Also: https://github.com/PaddlePaddle/Paddle/pull/77334
52+
- See Also: https://github.com/PaddlePaddle/Paddle/pull/77212
53+
-`paddle.utils`新增对应类的导入,但不在`__init__.py`注册,补充单测。
54+
- 第一版方案:在`paddle.utils`新增对应类的代码(从`paddle.io`复制过来)。
55+
- 第二版方案:整理`paddle.utils`,将有问题的全部迁入另一个文件夹,不对外暴露,仅内部使用。
56+
- 第三版方案:先新增导入不注册,后续再根据导入情况选择性注册。
57+
- 目前用的是第三版方案。直接导入`paddle.io`内的类会导致循环依赖,前两个方案涉及到的修改比较复杂。所以把整个任务分成两部分:先新增别名(通过`paddle.utils.data`访问),再考察如何绕开循环依赖,使得从`paddle`就能够访问对应的类。
58+
59+
60+
61+
### 下双周工作
62+
63+
1. **torch.std对齐**的PaConvert和中文文档修改
64+
2. **abs_下沉**的PaConvert和中文文档修改
65+
3. **`ChainDataset`, `ConcatDataset`, `Dataset`, `IterableDataset`对齐**的选择性注册方法,PaConvert和英文&中文文档修改
66+
4. 如有时间剩余,继续认领完成其它任务
67+
68+
69+
70+
### 导师点评
71+
72+
杨锃砚同学近期完成了`torch.std`下沉和两个较为复杂的共性问题调研开发:inplace下沉机制调研 + paddle.utils.data.*模块迁移。针对这两个共性问题调研了多种可行方案,在此过程中主动学习相关技术,对飞桨框架相关的代码也有了更多理解。后续继续保持学习和探索的势头,为飞桨贡献更多代码。
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
### 姓名
2+
3+
LiaoYFBH
4+
5+
### 实习项目
6+
7+
[PaddleOCR + ERNIE × Open-Source Ecosystem 高价值开源项目案例征集]
8+
9+
### 本周工作
10+
11+
1. 调研和分析了不同阶段的科研工作者对科研工具的需求,整理了科研agent所需的功能
12+
1. 搭建demo
13+
14+
15+
#### 问题疑惑与解答
16+
17+
暂无
18+
19+
### 下周工作
20+
21+
1. 完善demo。
22+
23+
### 导师点评
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
### 姓名
2+
王豪
3+
4+
### 实习项目
5+
GraphNet 计算子图构建与推广
6+
7+
### 本周工作
8+
9+
1. 修复dtype_generalizer.py的bug:在判断计算图need_rewrite之前, parse_immutable_model_path_into_sole_graph_module()返回的trace_model不包含tensor_meta导致dtype_pass.need_rewrite(traced_model)返回总是false,在need_rewrite之前为trace_model加入tensor_meta,因此调用ShapeProp(traced_model).propagate(*inputs)
10+
11+
2. 将dtype_gen_test.sh改为标准脚本格式并对samll100_samples.txt的进行dtype generalizaion pass测试,并用 graph_net.torch.validate 验证生成的 samples of dtype generalization pass
12+
13+
3. 把dtype_generalizer.py做成了SamplePass的子类并放到torch/sample_pass目录下。
14+
15+
16+
### 下周工作
17+
18+
1. 调试分析未通过的sample的原因
19+
2. 开一个关于数据类型泛化的讨论区,并讨论如何集成进加工流程。
20+
21+
### 导师点评
22+
true
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
### 姓名
2+
3+
杨晓春
4+
5+
### 实习项目
6+
7+
Paddle C++ API生态兼容建设
8+
9+
### 本周工作
10+
11+
1. `TensorBody.h` 下新增 'data' 'cpu' 'meta' 'toBackend' 'is_variable' 'item'
12+
'packed_accessor' 'index' 'index_put_' 'cuda' 'set_requires_grad' 'mutable_grad' 兼容接口
13+
14+
https://github.com/PaddlePaddle/Paddle/pull/77182
15+
https://github.com/PaddlePaddle/Paddle/pull/77417
16+
17+
部分接口未提交PR
18+
19+
### 下周工作
20+
21+
1. 继续完善 `TensorBody.h` 文件及相关测试
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
### 姓名
2+
3+
李溯寒
4+
5+
### 实习项目
6+
7+
PaddleOCR + ERNIE × Open-Source Ecosystem
8+
9+
### 本周工作
10+
11+
1. 明确项目方向与目标人群
12+
13+
- 讨论并收敛两个核心场景:
14+
- 拍卷子/作业:识别题目、选项、手写答案,生成可整理的错题本(错题由用户勾选)
15+
- 拍书/PPT:自动整理成可复习笔记(作为后续扩展方向)
16+
17+
- 重点聚焦学生群体(大学生/考研党/考公党)的高频“拍照$\rightarrow$整理”需求,强调“输出可复习笔记/错题本”而非仅图片转文字。
18+
19+
2. 方案拆解:错题本生成流程
20+
21+
- 制定端到端流程:PDF/图片输入 $\rightarrow$预处理 $\rightarrow$文本检测与裁剪 $\rightarrow$手写/印刷体分类 $\rightarrow$生成干净整洁的图片 $\rightarrow$PaddleOCR 结构化解析 $\rightarrow$题目切分与结构化 $\rightarrow$预览 $\rightarrow$用户勾选错题 $\rightarrow$导出错题本(md格式)。
22+
23+
- 决策:错题判断不做自动判定,交由用户选择,降低不确定性与复杂度。
24+
25+
- 手写识别阶段策略:先做“手写区域截图留存并关联题目”,不强制识别手写内容。
26+
27+
3. PaddleOCR 结构化 API 能力核验
28+
29+
- 基于 PaddleOCR-VL 的 JSON 返回结果确认:
30+
- 提供阅读顺序字段 `block_order`(可用于阅读顺序重建)
31+
- 提供结构化块 `parsing_res_list`(含 `block_label/block_content/block_bbox/group_id` 等)
32+
- 提供可直接使用的 `markdown.text` 与图片映射 `markdown.images`
33+
34+
- 将第 6 步及之后的流程改为“优先用 PaddleOCR API 输出的结构化结果驱动题目切分”。
35+
36+
4. deepagents 和 LangGraph 工程环境与调试链路
37+
38+
- 完成 deepagents 、 langchain 、 langgraph 等依赖安装与环境检查(依赖清单整理为可复用 requirements 结构)。
39+
40+
- 成功启动 `langgraph dev` 本地服务(API: http://127.0.0.1:2024;Docs 可访问),并定位 Studio “Failed to fetch” 属于浏览器安全策略/本地网络访问限制,明确可用的解决策略。
41+
42+
5. LangChain 结构化输出与 DeepSeek 兼容性排查
43+
44+
- 复现并定位 DeepSeek OpenAI 兼容接口对 `response_format` 结构化输出的限制(400: response_format unavailable)。
45+
46+
- 给出替代方案:改用 JSON 提示词 + JSON Parser(SimpleJsonOutputParser)或 function/tool calling(视模型支持情况),并修正 init_chat_model 参数使用错误(model vs model_name)。
47+
48+
- 排查并解释 UnicodeEncodeError(请求头 header 含非 ASCII 字符)属于环境变量或自定义 header 导致的编码问题,提供检查与清理思路。
49+
50+
51+
### 下周计划
52+
53+
1. 学习 LangGraph 的基本概念与开发方式(Graph/Node/Edge、编排与执行模型、调试方式)。
54+
2. 学习并掌握 LangGraph 中的 State 设计与管理(如 AgentState/状态流转、状态字段定义、如何在节点间传递与更新状态)。
55+
3. 基于学习结果,整理一份可复用的 LangGraph + AgentState 最小示例工程(便于后续将错题本流程接入 Graph 运行)。
56+
57+
### 导师点评
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
### 姓名
2+
3+
谢润明
4+
5+
### 实习项目
6+
7+
Paddle C++ API生态兼容建设
8+
9+
### 本周工作
10+
11+
1. `TensorBase.h` 下新增 `sym_size(dim)` `sym_stride(dim)` `sym_sizes()` `sym_strides()` `sym_numel()` 兼容接口
12+
13+
https://github.com/PaddlePaddle/Paddle/pull/77301
14+
15+
https://github.com/PFCCLab/PaddleCppAPITest/pull/18
16+
17+
2. `TensorBase.h` 下新增 `is_same(other)` `use_count()` `weak_use_count()` `is_contiguous_or_false()` `toString()` 兼容接口
18+
19+
https://github.com/PaddlePaddle/Paddle/pull/77388
20+
21+
https://github.com/PFCCLab/PaddleCppAPITest/pull/21
22+
23+
3. `TensorBase.h` 下新增 `_is_zerotensor` `_set_zero` `is_conj` `_set_conj` `is_neg` `_set_neg` 兼容接口
24+
25+
https://github.com/PaddlePaddle/Paddle/pull/77399
26+
27+
4. `PaddleCppAPITest` 仓库更新 `TensorBase.h` 文档
28+
29+
https://github.com/PFCCLab/PaddleCppAPITest/pull/15
30+
31+
### 下周工作
32+
33+
1. 继续完善 `TensorBase.h` 头文件
34+
35+
### 导师点评
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
### 姓名
2+
郑天宇
3+
4+
### 实习项目
5+
面向大模型训练的高效分布式checkpoint系统研究
6+
7+
### 本周工作
8+
9+
1. 在paddleformers中接入aoa_reverse组件
10+
2. 学习python的traceback逻辑,开发一套 AOATraceback 专门用于AOA解析与执行操作过程中的链式报错,为用户提供可追溯的报错信息
11+
3. 优化AOA的报错信息,同时新增load hf权重时的映射检查(key to safetenfors file)
12+
13+
14+
### 下周工作
15+
16+
1. Flex Checkpoint相关代码迁移到Paddlefleet库中,并在此基础上Refine。
17+
18+
### 导师评价
19+
20+
21+

0 commit comments

Comments
 (0)