diff --git a/mindspore/ops/operations/array_ops.py b/mindspore/ops/operations/array_ops.py index 45e04b83f2a13fcd545686a8f018f1cdd21d4218..43025876bc3d0149bade7c5374a079e8e764f3a8 100644 --- a/mindspore/ops/operations/array_ops.py +++ b/mindspore/ops/operations/array_ops.py @@ -926,7 +926,11 @@ class InvertPermutation(PrimitiveWithInfer): def __infer__(self, x): x_shp = x['shape'] x_value = x['value'] - validator.check_value_type("shape", x_shp, [tuple], self.name) + validator.check_value_type("shape", x_shp, [tuple, list], self.name) + if mstype.issubclass_(x['dtype'], mstype.tensor): + validator.check('x dimension', len(x_shp), '', 1, Rel.EQ, self.name) + validator.check_type_same({'x dtype': x['dtype']}, mstype.int_type, self.name) + x_value = [int(i) for i in x_value.asnumpy()] z = [x_value[i] for i in range(len(x_value))] z.sort()