[Pad-12] Negative pads_begin/end tests for Pad reference implementation (#18344)

* Pad ref impl tests for negative pads begin end

* Adjust indentation

* Remove redundant line from the output

* Add tests with removal on middle axis

* Add tests with empty result

---------

Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
This commit is contained in:
Katarzyna Mitrus
2023-07-07 12:53:52 +02:00
committed by GitHub
parent 2939818278
commit e42548137e

View File

@@ -877,6 +877,7 @@ std::vector<PadParams> generateParams() {
reference_tests::Tensor(ET, {3, 3}, std::vector<T>{
1, 2, 3,
4, 5, 6,
7, 8, 9,
}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{-1, -1}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{-1, -1}),
@@ -1003,6 +1004,281 @@ std::vector<PadParams> generateParams() {
op::PadMode::SYMMETRIC,
reference_tests::Tensor(ET, {}, std::vector<T>{2112}),
"pad_symmetric"),
PadParams(
reference_tests::Tensor(ET, {4, 3}, std::vector<T>{
1, 2, 3,
4, 5, 6,
7, 8, 9,
10, 11, 12
}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{-1, -1}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{-1, -1}),
reference_tests::Tensor(ET, {2, 1}, std::vector<T>{
5, 8
}),
op::PadMode::CONSTANT,
reference_tests::Tensor(ET, {}, std::vector<T>{0}),
"pad_neg_4x3_mode_const"),
PadParams(
reference_tests::Tensor(ET, {3, 4}, std::vector<T>{
1, 2, 3, 4,
5, 6, 7, 8,
9, 10, 11, 12
}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{-1, -1}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{-1, -1}),
reference_tests::Tensor(ET, {1, 2}, std::vector<T>{
6, 7
}),
op::PadMode::CONSTANT,
reference_tests::Tensor(ET, {}, std::vector<T>{0}),
"pad_neg_3x4_mode_const"),
PadParams(
reference_tests::Tensor(ET, {2, 2, 3}, std::vector<T>{
1, 2, 3,
4, 5, 6,
7, 8, 9,
10, 11, 12
}),
reference_tests::Tensor(ET_INT, {3}, std::vector<T_INT>{0, 0, 0}),
reference_tests::Tensor(ET_INT, {3}, std::vector<T_INT>{-1, 0, 0}),
reference_tests::Tensor(ET, {1, 2, 3}, std::vector<T>{
1, 2, 3,
4, 5, 6,
}),
op::PadMode::CONSTANT,
reference_tests::Tensor(ET, {}, std::vector<T>{0}),
"pad_neg_2x2x3_mode_const_remove_last"),
PadParams(
reference_tests::Tensor(ET, {2, 2, 3}, std::vector<T>{
1, 2, 3,
4, 5, 6,
7, 8, 9,
10, 11, 12
}),
reference_tests::Tensor(ET_INT, {3}, std::vector<T_INT>{-1, 0, 0}),
reference_tests::Tensor(ET_INT, {3}, std::vector<T_INT>{0, 0, 0}),
reference_tests::Tensor(ET, {1, 2, 3}, std::vector<T>{
7, 8, 9,
10, 11, 12
}),
op::PadMode::CONSTANT,
reference_tests::Tensor(ET, {}, std::vector<T>{0}),
"pad_neg_2x2x3_mode_const_remove_first"),
PadParams(
reference_tests::Tensor(ET, {2, 2, 3}, std::vector<T>{
1, 2, 3,
4, 5, 6,
7, 8, 9,
10, 11, 12
}),
reference_tests::Tensor(ET_INT, {3}, std::vector<T_INT>{0, -1, 0}),
reference_tests::Tensor(ET_INT, {3}, std::vector<T_INT>{0, 0, 0}),
reference_tests::Tensor(ET, {2, 1, 3}, std::vector<T>{
4, 5, 6,
10, 11, 12
}),
op::PadMode::CONSTANT,
reference_tests::Tensor(ET, {}, std::vector<T>{0}),
"pad_neg_2x2x3_mode_const_remove_middle_begin"),
PadParams(
reference_tests::Tensor(ET, {2, 2, 3}, std::vector<T>{
1, 2, 3,
4, 5, 6,
7, 8, 9,
10, 11, 12
}),
reference_tests::Tensor(ET_INT, {3}, std::vector<T_INT>{0, 0, 0}),
reference_tests::Tensor(ET_INT, {3}, std::vector<T_INT>{0, -1, 0}),
reference_tests::Tensor(ET, {2, 1, 3}, std::vector<T>{
1, 2, 3,
7, 8, 9,
}),
op::PadMode::CONSTANT,
reference_tests::Tensor(ET, {}, std::vector<T>{0}),
"pad_neg_2x2x3_mode_const_remove_middle_end"),
PadParams(
reference_tests::Tensor(ET, {2, 2}, std::vector<T>{
1, 2,
3, 4,
}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{-1, 0}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{-1, 0}),
reference_tests::Tensor(ET, {0, 2}, std::vector<T>{}),
op::PadMode::CONSTANT,
reference_tests::Tensor(ET, {}, std::vector<T>{10}),
"pad_neg_2x2_reult_empty_mode_const"),
PadParams(
reference_tests::Tensor(ET, {3, 4}, std::vector<T>{
1, 2, 3, 4,
5, 6, 7, 8,
9, 10, 11, 12
}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{-2, -2}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{-1, -2}),
reference_tests::Tensor(ET, {0, 0}, std::vector<T>{}),
op::PadMode::CONSTANT,
reference_tests::Tensor(ET, {}, std::vector<T>{10}),
"pad_neg_3x4_reult_empty_mode_const"),
PadParams(
reference_tests::Tensor(ET, {3, 4}, std::vector<T>{
1, 2, 3, 4,
5, 6, 7, 8,
9, 10, 11, 12
}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{-1, 0}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{0, -2}),
reference_tests::Tensor(ET, {2, 2}, std::vector<T>{
5, 6,
9, 10
}),
op::PadMode::CONSTANT,
reference_tests::Tensor(ET, {}, std::vector<T>{0}),
"pad_neg_mix_cross_3x4_mode_const"),
PadParams(
reference_tests::Tensor(ET, {3, 4}, std::vector<T>{
1, 2, 3, 4,
5, 6, 7, 8,
9, 10, 11, 12
}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{-1, -2}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{2, 3}),
reference_tests::Tensor(ET, {4, 5}, std::vector<T>{
7, 8, 0, 0, 0,
11, 12, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0
}),
op::PadMode::CONSTANT,
reference_tests::Tensor(ET, {}, std::vector<T>{0}),
"pad_neg_begin_3x4_mode_const"),
PadParams(
reference_tests::Tensor(ET, {3, 4}, std::vector<T>{
1, 2, 3, 4,
5, 6, 7, 8,
9, 10, 11, 12
}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{2, 3}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{-1, -2}),
reference_tests::Tensor(ET, {4, 5}, std::vector<T>{
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 1, 2,
0, 0, 0, 5, 6,
}),
op::PadMode::CONSTANT,
reference_tests::Tensor(ET, {}, std::vector<T>{0}),
"pad_neg_end_3x4_mode_const"),
PadParams(
reference_tests::Tensor(ET, {3, 4}, std::vector<T>{
1, 2, 3, 4,
5, 6, 7, 8,
9, 10, 11, 12
}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{2, -1}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{-1, 3}),
reference_tests::Tensor(ET, {4, 6}, std::vector<T>{
10, 11, 12, 11, 10, 9,
6, 7, 8, 7, 6, 5,
2, 3, 4, 3, 2, 1,
6, 7, 8, 7, 6, 5,
}),
op::PadMode::REFLECT,
"pad_neg_ones_cross_3x4_mode_reflect"),
PadParams(
reference_tests::Tensor(ET, {3, 4}, std::vector<T>{
1, 2, 3, 4,
5, 6, 7, 8,
9, 10, 11, 12,
}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{-4, 3}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{2, -5}),
reference_tests::Tensor(ET, {1, 2}, std::vector<T>{
4, 3,
}),
op::PadMode::REFLECT,
"pad_neg_mix_cross_3x4_mode_reflect"),
PadParams(
reference_tests::Tensor(ET, {3, 4}, std::vector<T>{
1, 2, 3, 4,
5, 6, 7, 8,
9, 10, 11, 12
}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{2, -1}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{-1, 3}),
reference_tests::Tensor(ET, {4, 6}, std::vector<T>{
2, 3, 4, 4, 4, 4,
2, 3, 4, 4, 4, 4,
2, 3, 4, 4, 4, 4,
6, 7, 8, 8, 8, 8,
}),
op::PadMode::EDGE,
"pad_neg_ones_cross_3x4_mode_edge"),
PadParams(
reference_tests::Tensor(ET, {3, 4}, std::vector<T>{
1, 2, 3, 4,
5, 6, 7, 8,
9, 10, 11, 12
}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{-1, 0}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{0, -2}),
reference_tests::Tensor(ET, {2, 2}, std::vector<T>{
5, 6,
9, 10
}),
op::PadMode::EDGE,
"pad_neg_mix_cross_3x4_mode_edge"),
PadParams(
reference_tests::Tensor(ET, {3, 4}, std::vector<T>{
1, 2, 3, 4,
5, 6, 7, 8,
9, 10, 11, 12
}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{-1, 0}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{0, -2}),
reference_tests::Tensor(ET, {2, 2}, std::vector<T>{
5, 6,
9, 10
}),
op::PadMode::REFLECT,
"pad_neg_mix_cross_3x4_mode_reflect"),
PadParams(
reference_tests::Tensor(ET, {3, 4}, std::vector<T>{
1, 2, 3, 4,
5, 6, 7, 8,
9, 10, 11, 12
}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{-1, 0}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{0, -2}),
reference_tests::Tensor(ET, {2, 2}, std::vector<T>{
5, 6,
9, 10
}),
op::PadMode::SYMMETRIC,
"pad_neg_mix_cross_3x4_mode_symmetric"),
PadParams(
reference_tests::Tensor(ET, {3, 4}, std::vector<T>{
1, 2, 3, 4,
5, 6, 7, 8,
9, 10, 11, 12
}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{2, -1}),
reference_tests::Tensor(ET_INT, {2}, std::vector<T_INT>{-1, 3}),
reference_tests::Tensor(ET, {4, 6}, std::vector<T>{
6, 7, 8, 8, 7, 6,
2, 3, 4, 4, 3, 2,
2, 3, 4, 4, 3, 2,
6, 7, 8, 8, 7, 6,
}),
op::PadMode::SYMMETRIC,
"pad_neg_ones_cross_3x4_mode_symmetric"),
};
return params;
}