PaddlePaddle / Paddle

PArallel Distributed Deep LEarning: Machine Learning Framework from Industrial Practice (『飞桨』核心框架,深度学习&机器学习高性能单机、分布式训练和跨平台部署)
http://www.paddlepaddle.org/
Apache License 2.0
22.13k stars 5.56k forks source link

【complex op】paddlepaddle 支持复数 #61975

Open zbt78 opened 7 months ago

zbt78 commented 7 months ago

✨ 任务背景

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

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

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

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

主要修改点

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

具体修改可参考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
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
34 addmm_coo_dense(sparse) @bapijun #63179
35 addmm_csr_dense(sparse)
36 asin_coo/asin_csr(sparse) @Aoraki-Dream #68258 #68326
37 asinh_coo/asinh_csr(sparse) @Aoraki-Dream #68257 #68326
38 atan_coo/atan_csr(sparse) @Aoraki-Dream #68259 #68326
39 atanh_coo/atanh_csr(sparse) @Aoraki-Dream #68261
40 divide_coo_coo/divide_csr_csr(sparse)
41 expm1_coo/expm1_csr(sparse) @Aoraki-Dream #68262 #68326
42 log1p_coo/log1p_csr(sparse) @Aoraki-Dream #68248 #68326
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
48 sqrt_coo/sqrt_csr(sparse) @Aoraki-Dream #68264
49 square_coo/square_csr(sparse) @Aoraki-Dream #68265 #68326
50 tan_coo/tan_csr(sparse) @Aoraki-Dream #67848 #67885 #68326
51 tanh_coo/tanh_csr(sparse) @Aoraki-Dream #68260 #68326
52 Expand
53 expand_as_v2
54 put_along_axis
55 take_along_axis

认领方式

请大家以 comment 的形式认领任务,如:

【报名】:1、3、12-13

多个任务之间需要使用中文顿号分隔,报名多个连续任务可用横线表示,如 2-5

PR 提交格式

看板信息

任务方向 任务数量 提交作品 / 任务认领 提交率 完成 完成率
快乐开源 55 24 / 26 43.64% 15 27.27%

统计信息

排名不分先后 @zbt78 (3) @bapijun (2) @Aoraki-Dream (10)

GreatV commented 7 months ago

【报名】:3-4

bapijun commented 7 months ago

【报名】:33

zbt78 commented 7 months ago

【报名】:7、12

bapijun commented 7 months ago

【报名】:46、47

zbt78 commented 7 months ago

【报名】:8

bapijun commented 6 months ago

【报名】: 34

zbt78 commented 6 months ago

【报名】:25

zbt78 commented 6 months ago

【报名】:26

zbt78 commented 5 months ago

【报名】:13

yyBlone commented 3 months ago

【报名】:14

struim commented 2 months ago

【报名】: 20

piood commented 2 months ago

【报名】: 10

Aoraki-Dream commented 2 months ago

【报名】:8、10