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

【complex op】paddlepaddle 支持复数 #61975

Open
zbt78 opened this issue Feb 22, 2024 · 14 comments
Open

【complex op】paddlepaddle 支持复数 #61975

zbt78 opened this issue Feb 22, 2024 · 14 comments
Assignees
Labels
PFCC Paddle Framework Contributor Club,https://github.com/PaddlePaddle/community/tree/master/pfcc status/new-issue 新建 type/others 其他问题

Comments

@zbt78
Copy link
Contributor

zbt78 commented Feb 22, 2024

✨ 任务背景

现有的深度学习框架主要是基于对实数函数的优化设计的,在主流的深度学习应用场景中,网络的输入变量,中间变量,输出变量都是实数,与此相关的基础设施,比如数组,优化器等组件也都是适用于实数类型。

但随着深度学习应用的扩展,也出现对复数支持的需求,比如图像,语音等领域的傅里叶变换,量子物理领域,其理论体系都是基于复数建立的。虽然并非不能用实数表示复数运算,但稍显繁琐,深度学习框架有原生的复数支持,可以使建模更接近其理论。

从更广义的视角来看, 深度学习框架提供更好的复数支持,也是更好地支持复数神经网络研究的基础。

现邀请大家一起参与paddle的复数支持。

主要修改点

需要实现对应op的 前向以及反向复数计算逻辑(部分op没有反向),并在对应op单测中添加复数的单测

  • 在op对应的前向以及反向kernel增加复数运算逻辑,且注册相应的complex64, complex128数据类型。 复数反向计算可参考 complex_autograd
  • 在对应op的单测中增加复数类型
  • 在对应api的类型校验中增加复数

具体修改可参考pr:

注意:

任务列表

序号 算子 认领人/状态/PR号
1 addmm
2 all_row, all_reduce
3 Det(determinant) @GreatV #62184
4 bmm @GreatV
@YibinLiu666 #64603
5 slogdet(slogdeterminant)
6 Norm
7 Log/log10/log2/log1p @zbt78 #62448
8 Rsqrt @zbt78 #63720
@Aoraki-Dream
9 renorm
10 sqrt @piood
@Aoraki-Dream #68149 #68303
11 std
12 pow @zbt78 #62959
13 tanhshrink @zbt78 #63722
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 #63207
26 Inv @zbt78 #63229
27 Svd
28 Solvetriangular_solve
29 Ceil
30 p_norm
31 Qr
32 Lu
33 abs_coo/abs_csr(sparse) @bapijun #62237 #6645
34 addmm_coo_dense(sparse) @bapijun #63179
35 addmm_csr_dense(sparse)
36 asin_coo/asin_csr(sparse) @Aoraki-Dream #68258 #68326 #6883
37 asinh_coo/asinh_csr(sparse) @Aoraki-Dream #68257 #68326 #6883
38 atan_coo/atan_csr(sparse) @Aoraki-Dream #68259 #68326 #6883
39 atanh_coo/atanh_csr(sparse) @Aoraki-Dream #68261 #6883
40 divide_coo_coo/divide_csr_csr(sparse)
41 expm1_coo/expm1_csr(sparse) @Aoraki-Dream #68262 #68326 #6883
42 log1p_coo/log1p_csr(sparse) @Aoraki-Dream #68248 #68326 #6883
43 matmul_csr_dense(sparse)
44 multiply_coo_coo/multiply_csr_csr(sparse)
45 pow_coo/pow_csr(sparse) @Aoraki-Dream #68264 #68263
46 sin_coo/sin_csr(sparse) @bapijun #62663
47 sinh_coo/sinh_csr(sparse) @bapijun #62678
@Aoraki-Dream #67976 #6862
48 sqrt_coo/sqrt_csr(sparse) @Aoraki-Dream #68264
49 square_coo/square_csr(sparse) @Aoraki-Dream #68265 #68326 #6883
50 tan_coo/tan_csr(sparse) @Aoraki-Dream #67848 #67885 #68326 #6855
51 tanh_coo/tanh_csr(sparse) @Aoraki-Dream #68260 #68326 #6883
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)

@zbt78 zbt78 added status/new-issue 新建 type/others 其他问题 labels Feb 22, 2024
@zoooo0820 zoooo0820 assigned GGBond8488 and unassigned zoooo0820 Feb 22, 2024
@luotao1 luotao1 self-assigned this Feb 22, 2024
@luotao1 luotao1 moved this to In Progress in Call for Contributions Feb 22, 2024
@paddle-bot paddle-bot bot added the PFCC Paddle Framework Contributor Club,https://github.com/PaddlePaddle/community/tree/master/pfcc label Feb 22, 2024
@GreatV
Copy link
Contributor

GreatV commented Feb 27, 2024

【报名】:3-4

@bapijun
Copy link
Contributor

bapijun commented Feb 28, 2024

【报名】:33

@zbt78
Copy link
Contributor Author

zbt78 commented Mar 5, 2024

【报名】:7、12

@bapijun
Copy link
Contributor

bapijun commented Mar 5, 2024

【报名】:46、47

@zbt78
Copy link
Contributor Author

zbt78 commented Mar 6, 2024

【报名】:8

@bapijun
Copy link
Contributor

bapijun commented Mar 19, 2024

【报名】: 34

@zbt78
Copy link
Contributor Author

zbt78 commented Apr 3, 2024

【报名】:25

@zbt78
Copy link
Contributor Author

zbt78 commented Apr 4, 2024

【报名】:26

@zbt78
Copy link
Contributor Author

zbt78 commented Apr 21, 2024

【报名】:13

@yyBlone
Copy link

yyBlone commented Jul 10, 2024

【报名】:14

@struim
Copy link

struim commented Jul 16, 2024

【报名】: 20

@PaddlePaddle PaddlePaddle deleted a comment from DawnMagnet Jul 18, 2024
@PaddlePaddle PaddlePaddle deleted a comment from bapijun Jul 18, 2024
@PaddlePaddle PaddlePaddle deleted a comment from bapijun Jul 18, 2024
@PaddlePaddle PaddlePaddle deleted a comment from li-yiqing Jul 18, 2024
@PaddlePaddle PaddlePaddle deleted a comment from zbt78 Jul 18, 2024
@PaddlePaddle PaddlePaddle deleted a comment from bapijun Jul 18, 2024
@piood
Copy link

piood commented Aug 9, 2024

【报名】: 10

@Aoraki-Dream
Copy link
Contributor

【报名】:8、10

@KDZZZZZZ
Copy link

【报名】:17

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PFCC Paddle Framework Contributor Club,https://github.com/PaddlePaddle/community/tree/master/pfcc status/new-issue 新建 type/others 其他问题
Projects
Status: In Progress
Development

No branches or pull requests