Skip to content
This repository has been archived by the owner on Jan 24, 2024. It is now read-only.

op unittest for repeat/arange/reverse/elementwise_add_grad/flip #1514

Merged
merged 11 commits into from
Jun 12, 2023

Conversation

zzk0
Copy link
Contributor

@zzk0 zzk0 commented Jun 7, 2023

描述

From #1378

给 repeat/arange/reverse/elementwise_add_grad/flip 算子添加单元测试。

其中:

  • elementwise_add_grad 已经在 test_add_op_new.py 里面进行了测试;本 PR 使用 test_add_op_new.py 替换了 test_add_op.py;
  • reverse flip 两个算子实现是一样的,将冗余的 flip 代码移除,并修改了部分前端代码。

@paddle-bot
Copy link

paddle-bot bot commented Jun 7, 2023

Thanks for your contribution!

@zzk0
Copy link
Contributor Author

zzk0 commented Jun 7, 2023

描述

From #1378

repeat 算子。

算子类型

  • ElementWise:输入张量索引和输出张量索引之间存在一对一的对应关系
  • Broadcast:输入张量索引和输出张量索引之间存在一对多的对应关系
  • Injective:单射算子,可以将一个输出 axis 映射到一个输入 axis
  • Reduction:输入张量索引和输出张量索引之间存在多对一的对应关系
  • OutFusible:复杂算子,仍然可以将一对一的算子融合到其输出中。
  • kNonFusible:无法融合的算子

Test Cases Checklist

张量维度

  • 1D 张量
  • 2D 张量
  • 3D 张量
  • 4D 张量

special shape

挑选 2D/3D/4D 张量中的一个,测试下面的特殊情况。

  • 其中一个维度为 1
  • 其中一个维度小于 1024
  • 其中一个维度大于 1024
  • 向量的所有维度都是 1

张量数据类型

  • bool
  • int8
  • int32
  • int64
  • float16
  • float32
  • float64

广播

  • 这个算子是否支持广播?
  • 广播的测试样例

算子属性

  • repeats:重复的次数
  • axis:指定重复的 axis

@zzk0
Copy link
Contributor Author

zzk0 commented Jun 7, 2023

描述

From #1378

arange 算子。

算子类型

  • ElementWise:输入张量索引和输出张量索引之间存在一对一的对应关系
  • Broadcast:输入张量索引和输出张量索引之间存在一对多的对应关系
  • Injective:单射算子,可以将一个输出 axis 映射到一个输入 axis
  • Reduction:输入张量索引和输出张量索引之间存在多对一的对应关系
  • OutFusible:复杂算子,仍然可以将一对一的算子融合到其输出中。
  • kNonFusible:无法融合的算子

Test Cases Checklist

张量维度

arange 返回的张量都是一维的。

  • 1D 张量
  • 2D 张量
  • 3D 张量
  • 4D 张量

special shape

挑选 2D/3D/4D 张量中的一个,测试下面的特殊情况。测试了元素个数为 1,1024,大于 1024,非常大(65536, 131072) 的情况。

  • 其中一个维度为 1
  • 其中一个维度小于 1024
  • 其中一个维度大于 1024
  • 向量的所有维度都是 1

张量数据类型

  • int32
  • int64
  • float16
  • float32
  • float64

广播

  • 这个算子是否支持广播?
  • 广播的测试样例

算子属性

  • start, end,测试了正负的四种组合;
  • step,测试了正负两种情况。

@zzk0
Copy link
Contributor Author

zzk0 commented Jun 7, 2023

描述

From #1378

reverse/flip 算子。

算子类型

  • ElementWise:输入张量索引和输出张量索引之间存在一对一的对应关系
  • Broadcast:输入张量索引和输出张量索引之间存在一对多的对应关系
  • Injective:单射算子,可以将一个输出 axis 映射到一个输入 axis
  • Reduction:输入张量索引和输出张量索引之间存在多对一的对应关系
  • OutFusible:复杂算子,仍然可以将一对一的算子融合到其输出中。
  • kNonFusible:无法融合的算子

Test Cases Checklist

张量维度

arange 返回的张量都是一维的。

  • 1D 张量
  • 2D 张量
  • 3D 张量
  • 4D 张量

special shape

挑选 2D/3D/4D 张量中的一个,测试下面的特殊情况。

  • 其中一个维度为 1
  • 其中一个维度小于 1024
  • 其中一个维度大于 1024
  • 向量的所有维度都是 1

张量数据类型

  • bool
  • int32
  • int64
  • float16
  • float32
  • float64

广播

  • 这个算子是否支持广播?
  • 广播的测试样例

算子属性

  • axes:测试了正负、单个多个的多种组合情况。

Copy link
Collaborator

@thisjiang thisjiang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@thisjiang thisjiang merged commit a659bb2 into PaddlePaddle:develop Jun 12, 2023
BiynXu added a commit that referenced this pull request Jun 19, 2023
* op unittest for cbrt/ceil/cholesky/concat/constant/fill_constant (#1495)

* op unittest for cbrt

* op unittest for ceil

* op unittest for cholesky

* op unittest for concat

* op unittest for constant

* add 4d test for constant op

* fix ci

* op unittest for fill_constant

* op unittest for fill_constant

* refine

* fix(schedule): fix SimpleComputeAt primitive (#1504)

* Fix reduce cast schedule bug (#1512)

* fix(fuse): fix reduce cast schedule bug

* test(fuse): add unittest for reduce_cast subgroup

* Refactor some op tests and fix bugs (#1515)

* Add depthwise_conv2d op test

* Refactor log op test

* Refactor round op test and fix bugs

* Only test depthwise_conv2d in cuda_cudnn

* op unittest for repeat/arange/reverse/elementwise_add_grad/flip (#1514)

* op unittest for repeat op

* add repeat frontend

* op unittest for repeat

* op unittest for arange

* op unittest for reverse

* format & remove old add op test

* op unittest for flipe && remove redundant flip implementation

* remove test_add_op_new.py

* update reverse

* Refactor some op tests and fix bugs (#1513)

* Refactor op isclose test

* Refactor op logical_right_shift and add more dtypes support

* Refactor pow op test and fix bugs

* Refactor lookup_table op test

* Add logical_right_shift host function proto

* Improve isclose test case

* Fixed jitify commit to prevent header file conflicts (#1522)

* Fixed jitify commit to prevent header file conflicts

* Set random seed for debug floor_divide

* Avoid oom error

* Just for debug ci

* Fix floor_divide error when input dtype is int

* Fix bugs and add more tests for floor_divide

* Experimental PR for the first OP to clean old schedule (#1524)

---------

Co-authored-by: zzk0 <[email protected]>
Co-authored-by: Fisher <[email protected]>
Co-authored-by: Huihuang Zheng <[email protected]>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants