-
Notifications
You must be signed in to change notification settings - Fork 5.8k
Closed
Labels
PFCCPaddle Framework Contributor Club,https://github.com/PaddlePaddle/community/tree/master/pfccPaddle Framework Contributor Club,https://github.com/PaddlePaddle/community/tree/master/pfccstatus/close已关闭已关闭type/others其他问题其他问题
Description
✨ 任务背景
现有的深度学习框架主要是基于对实数函数的优化设计的,在主流的深度学习应用场景中,网络的输入变量,中间变量,输出变量都是实数,与此相关的基础设施,比如数组,优化器等组件也都是适用于实数类型。
但随着深度学习应用的扩展,也出现对复数支持的需求,比如图像,语音等领域的傅里叶变换,量子物理领域,其理论体系都是基于复数建立的。虽然并非不能用实数表示复数运算,但稍显繁琐,深度学习框架有原生的复数支持,可以使建模更接近其理论。
从更广义的视角来看, 深度学习框架提供更好的复数支持,也是更好地支持复数神经网络研究的基础。
现邀请大家一起参与paddle的复数支持。
主要修改点
需要实现对应op的 前向以及反向复数计算逻辑(部分op没有反向),并在对应op单测中添加复数的单测
- 在op对应的前向以及反向kernel增加复数运算逻辑,且注册相应的complex64, complex128数据类型。 复数反向计算可参考 complex_autograd
- 在对应op的单测中增加复数类型
- 在对应api的类型校验中增加复数
具体修改可参考pr:
注意:
- API修改时,请注意同时修改 API中文文档(位于doc repo中)、API英文文档(数据类型额外可支持复数)。
- 实现反向时,需将反向计算公式注释在对应实现逻辑。
- PR请先通过CI检查后再发起review,避免增加不必要的review成本。
- 如何计算复数梯度 & 详细推导证明:https://github.com/PaddlePaddle/community/tree/master/pfcc/paddle-code-reading/complex_autograd
任务列表
序号 | 算子 | 认领人/状态/PR号 |
---|---|---|
1 | addmm | |
2 | all_row, all_reduce | |
3 | Det(determinant) | @GreatV |
4 | bmm | @GreatV @YibinLiu666 |
5 | slogdet(slogdeterminant) | |
6 | Norm | |
7 | Log/log10/log2/log1p | @zbt78 |
8 | Rsqrt | @zbt78 @Aoraki-Dream |
9 | renorm | |
10 | sqrt | @piood @Aoraki-Dream |
11 | std | |
12 | pow | @zbt78 |
13 | tanhshrink | @zbt78 |
14 | mm | @yyBlone |
15 | atan2 | |
16 | Dist | |
17 | Floor | @KDZZZZZZ |
18 | logsoftmax | |
19 | logcumsumexp | |
20 | logsumexp | @struim |
21 | cholesky_solve | |
22 | cholesky | |
23 | lstsq | |
24 | matrix_power | |
25 | Cross | @zbt78 |
26 | Inv | @zbt78 |
27 | Svd | |
28 | Solvetriangular_solve | |
29 | Ceil | |
30 | p_norm | |
31 | Qr | |
32 | Lu | |
33 | abs_coo/abs_csr(sparse) | @bapijun |
34 | addmm_coo_dense(sparse) | @bapijun |
35 | addmm_csr_dense(sparse) | |
36 | asin_coo/asin_csr(sparse) | @Aoraki-Dream |
37 | asinh_coo/asinh_csr(sparse) | @Aoraki-Dream |
38 | atan_coo/atan_csr(sparse) | @Aoraki-Dream |
39 | atanh_coo/atanh_csr(sparse) | @Aoraki-Dream |
40 | ||
41 | expm1_coo/expm1_csr(sparse) | @Aoraki-Dream |
42 | log1p_coo/log1p_csr(sparse) | @Aoraki-Dream |
43 | matmul_csr_dense(sparse) | |
44 | ||
45 | pow_coo/pow_csr(sparse) | @Aoraki-Dream |
46 | sin_coo/sin_csr(sparse) | @bapijun |
47 | sinh_coo/sinh_csr(sparse) | @bapijun @Aoraki-Dream |
48 | sqrt_coo/sqrt_csr(sparse) | @Aoraki-Dream |
49 | square_coo/square_csr(sparse) | @Aoraki-Dream |
50 | tan_coo/tan_csr(sparse) | @Aoraki-Dream |
51 | tanh_coo/tanh_csr(sparse) | @Aoraki-Dream |
52 | Expand | |
53 | expand_as_v2 | |
54 | put_along_axis | |
55 | take_along_axis |
认领方式
请大家以 comment 的形式认领任务,如:
【报名】:1、3、12-13
多个任务之间需要使用中文顿号分隔,报名多个连续任务可用横线表示,如 2-5
PR 提交格式
- 在 PR 的标题中以 【complex op No.】 开头,注明任务编号
- PR描述中需要附上本issue
- 评论里或者 review request @zbt78 (recommend) @GGBond8488 研发会进行审核
看板信息
任务方向 | 任务数量 | 提交作品 / 任务认领 | 提交率 | 完成 | 完成率 |
---|---|---|---|---|---|
快乐开源 | 55 | 24 / 27 | 43.64% | 15 | 27.27% |
统计信息
排名不分先后 @zbt78 (3) @bapijun (2) @Aoraki-Dream (10)
Metadata
Metadata
Assignees
Labels
PFCCPaddle Framework Contributor Club,https://github.com/PaddlePaddle/community/tree/master/pfccPaddle Framework Contributor Club,https://github.com/PaddlePaddle/community/tree/master/pfccstatus/close已关闭已关闭type/others其他问题其他问题
Type
Projects
Status
Done