[CPU] Fix the strided slice issue when ellipsis_mask has redundant data. (#12608)

This commit is contained in:
Luwei Zhou 2022-08-24 13:43:20 +08:00 committed by GitHub
parent caf547b5eb
commit da0be08f15
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 1 deletions

View File

@ -217,7 +217,7 @@ void StridedSlice::getSupportedDescriptors() {
void StridedSlice::addHiddenDims(const size_t nSrcDims, int ellipsisPos1) {
// all masks and input parameters are for planar layouts. So if we use blocked or per channel layout and
// there is ellipsis should to add default values in hidden dimensions to know real order of mask or parameter values
size_t afterDims = attrs.ellipsisMask.size() - ellipsisPos1 - 1;
size_t afterDims = attrs.begin.size() - ellipsisPos1 - 1;
size_t ellipsisPos2 = nSrcDims - afterDims - 1;
auto addHiddenDims = [&](std::vector<int>& data, const int bit = 0) {

View File

@ -116,6 +116,15 @@ std::vector<StridedSliceSpecificParams> ss_only_test_cases = {
{ 1, 1, 1, 0, 1 }, { 1, 1, 1, 0, 1 }, { 0, 1, 0, 0, 0 }, { }, { } },
StridedSliceSpecificParams{ { 2, 2, 2, 4, 4 }, { 0, 0, 0, 1, 0 }, { 0, 0, 0, 2, 0 }, { 1, 1, 1, 1, 1 },
{ 1, 1, 1, 0, 1 }, { 1, 1, 1, 0, 1 }, { }, { 0, 1, 0, 0, 0 }, { } },
StridedSliceSpecificParams{{1, 6400, 3, 85},
{0, 0},
{0, 2},
{1, 1},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
};
INSTANTIATE_TEST_SUITE_P(