Skip to content
New issue

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

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

Already on GitHub? # to your account

【complex op】paddlepaddle 支持复数 #61975

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

【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/close 已关闭 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

@luotao1 luotao1 closed this as completed Jan 14, 2025
@github-project-automation github-project-automation bot moved this from In Progress to Done in Call for Contributions Jan 14, 2025
@paddle-bot paddle-bot bot added status/close 已关闭 and removed status/new-issue 新建 labels Jan 14, 2025
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
PFCC Paddle Framework Contributor Club,https://github.com/PaddlePaddle/community/tree/master/pfcc status/close 已关闭 type/others 其他问题
Projects
Development

No branches or pull requests