[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:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user