| @@ -86,7 +86,7 @@ int AddN::InferShape(std::vector<Tensor *> inputs, std::vector<Tensor *> outputs | |||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| output->set_shape(input->shape()); | output->set_shape(input->shape()); | ||||
| @@ -74,7 +74,7 @@ int ArgMax::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> outp | |||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| std::vector<int> output_shape(input->shape()); | std::vector<int> output_shape(input->shape()); | ||||
| auto input_shape_size = input->shape().size(); | auto input_shape_size = input->shape().size(); | ||||
| @@ -72,7 +72,7 @@ int ArgMin::InferShape(std::vector<lite::Tensor *> inputs_, std::vector<lite::Te | |||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto input_shape_size = input->shape().size(); | auto input_shape_size = input->shape().size(); | ||||
| auto axis = GetAxis() < 0 ? GetAxis() + input_shape_size : GetAxis(); | auto axis = GetAxis() < 0 ? GetAxis() + input_shape_size : GetAxis(); | ||||
| @@ -45,7 +45,7 @@ int Arithmetic::InferShape(std::vector<lite::Tensor *> inputs_, std::vector<lite | |||||
| output->set_format(format); | output->set_format(format); | ||||
| output->set_data_type(input0->data_type()); | output->set_data_type(input0->data_type()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| if (input_shape0.size() > 10 || input_shape1.size() > 10) { | if (input_shape0.size() > 10 || input_shape1.size() > 10) { | ||||
| int wrong_dim = input_shape0.size() > input_shape1.size() ? input_shape0.size() : input_shape1.size(); | int wrong_dim = input_shape0.size() > input_shape1.size() ? input_shape0.size() : input_shape1.size(); | ||||
| @@ -33,7 +33,7 @@ int ArithmeticSelf::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor | |||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| output->set_shape(input->shape()); | output->set_shape(input->shape()); | ||||
| return RET_OK; | return RET_OK; | ||||
| @@ -77,7 +77,7 @@ int AudioSpectrogram::InferShape(std::vector<Tensor *> inputs_, std::vector<Tens | |||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto input_shape = input->shape(); | auto input_shape = input->shape(); | ||||
| if (input_shape.size() != 2) { | if (input_shape.size() != 2) { | ||||
| @@ -98,7 +98,7 @@ int BatchToSpace::InferShape(std::vector<lite::Tensor *> inputs, std::vector<lit | |||||
| outputs[0]->set_format(input->format()); | outputs[0]->set_format(input->format()); | ||||
| outputs[0]->set_data_type(input->data_type()); | outputs[0]->set_data_type(input->data_type()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto input_shape = input->shape(); | auto input_shape = input->shape(); | ||||
| if (input_shape.size() != kDimension_4d) { | if (input_shape.size() != kDimension_4d) { | ||||
| @@ -80,7 +80,7 @@ int BroadcastTo::InferShape(std::vector<Tensor *> inputs, std::vector<Tensor *> | |||||
| outputs[0]->set_format(input->format()); | outputs[0]->set_format(input->format()); | ||||
| outputs[0]->set_data_type(input->data_type()); | outputs[0]->set_data_type(input->data_type()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| std::vector<int32_t> dst_shape(GetDstShape()); | std::vector<int32_t> dst_shape(GetDstShape()); | ||||
| for (size_t i = 0; i < dst_shape.size(); ++i) { | for (size_t i = 0; i < dst_shape.size(); ++i) { | ||||
| @@ -93,7 +93,7 @@ int Cast::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> output | |||||
| output->set_data_type(static_cast<TypeId>(GetDstT())); | output->set_data_type(static_cast<TypeId>(GetDstT())); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| if (GetSrcT() != 0 && input->data_type() != GetSrcT()) { | if (GetSrcT() != 0 && input->data_type() != GetSrcT()) { | ||||
| @@ -98,7 +98,7 @@ int Concat::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> outp | |||||
| output->set_data_type(input0->data_type()); | output->set_data_type(input0->data_type()); | ||||
| output->set_format(input0->format()); | output->set_format(input0->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto input0_shape = inputs_.at(0)->shape(); | auto input0_shape = inputs_.at(0)->shape(); | ||||
| @@ -83,7 +83,7 @@ int ConstantOfShape::InferShape(std::vector<Tensor *> inputs_, std::vector<Tenso | |||||
| out_tensor->set_data_type(static_cast<TypeId>(GetDataType())); | out_tensor->set_data_type(static_cast<TypeId>(GetDataType())); | ||||
| out_tensor->set_format(in_tensor->format()); | out_tensor->set_format(in_tensor->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto in_data = reinterpret_cast<int *>(in_tensor->data_c()); | auto in_data = reinterpret_cast<int *>(in_tensor->data_c()); | ||||
| if (in_data == nullptr) { | if (in_data == nullptr) { | ||||
| @@ -391,7 +391,7 @@ int Conv2D::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> outp | |||||
| pad_r_ = GetPadRight(); | pad_r_ = GetPadRight(); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto in_shape = input_tensor->shape(); | auto in_shape = input_tensor->shape(); | ||||
| int input_h = in_shape.at(1); | int input_h = in_shape.at(1); | ||||
| @@ -71,7 +71,7 @@ int Crop::InferShape(std::vector<Tensor *> inputs, std::vector<Tensor *> outputs | |||||
| outputs[0]->set_format(inputs[0]->format()); | outputs[0]->set_format(inputs[0]->format()); | ||||
| outputs[0]->set_data_type(inputs[0]->data_type()); | outputs[0]->set_data_type(inputs[0]->data_type()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| outputs[0]->set_shape(inputs[1]->shape()); | outputs[0]->set_shape(inputs[1]->shape()); | ||||
| return RET_OK; | return RET_OK; | ||||
| @@ -317,7 +317,7 @@ int DeConv2D::InferShape(std::vector<lite::Tensor *> inputs_, std::vector<lite:: | |||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| int32_t input_h = input->Height(); | int32_t input_h = input->Height(); | ||||
| int32_t input_w = input->Width(); | int32_t input_w = input->Width(); | ||||
| @@ -138,7 +138,7 @@ int DeDepthwiseConv2D::InferShape(std::vector<lite::Tensor *> inputs_, std::vect | |||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto in_shape = input->shape(); | auto in_shape = input->shape(); | ||||
| int input_h = in_shape.at(1); | int input_h = in_shape.at(1); | ||||
| @@ -73,7 +73,7 @@ int DepthToSpace::InferShape(std::vector<lite::Tensor *> inputs, std::vector<lit | |||||
| outputs[0]->set_data_type(input->data_type()); | outputs[0]->set_data_type(input->data_type()); | ||||
| outputs[0]->set_format(input->format()); | outputs[0]->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto input_shape = input->shape(); | auto input_shape = input->shape(); | ||||
| if (input_shape.size() != kDimension_4d) { | if (input_shape.size() != kDimension_4d) { | ||||
| @@ -219,7 +219,7 @@ int DepthwiseConv2D::InferShape(std::vector<lite::Tensor *> inputs_, std::vector | |||||
| pad_r_ = GetPadRight(); | pad_r_ = GetPadRight(); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto in_shape = input->shape(); | auto in_shape = input->shape(); | ||||
| int input_h = in_shape.at(1); | int input_h = in_shape.at(1); | ||||
| @@ -190,7 +190,7 @@ int DetectionPostProcess::InferShape(std::vector<lite::Tensor *> inputs_, std::v | |||||
| num_det->set_format(boxes->format()); | num_det->set_format(boxes->format()); | ||||
| num_det->set_data_type(kNumberTypeFloat32); | num_det->set_data_type(kNumberTypeFloat32); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| const auto max_detections = GetMaxDetections(); | const auto max_detections = GetMaxDetections(); | ||||
| const auto max_classes_per_detection = GetMaxClassesPerDetection(); | const auto max_classes_per_detection = GetMaxClassesPerDetection(); | ||||
| @@ -84,7 +84,7 @@ int Dropout::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> out | |||||
| auto output0 = outputs_.front(); | auto output0 = outputs_.front(); | ||||
| MS_ASSERT(output0 != nullptr); | MS_ASSERT(output0 != nullptr); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| output0->set_shape(input->shape()); | output0->set_shape(input->shape()); | ||||
| output0->set_data_type(input->data_type()); | output0->set_data_type(input->data_type()); | ||||
| @@ -87,7 +87,7 @@ int DropoutGrad::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> | |||||
| auto output = outputs_.front(); | auto output = outputs_.front(); | ||||
| MS_ASSERT(output != nullptr); | MS_ASSERT(output != nullptr); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| output->set_shape(input->shape()); | output->set_shape(input->shape()); | ||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| @@ -70,7 +70,7 @@ int EmbeddingLookup::InferShape(std::vector<Tensor *> inputs_, std::vector<Tenso | |||||
| output->set_format(params_->format()); | output->set_format(params_->format()); | ||||
| output->set_data_type(params_->data_type()); | output->set_data_type(params_->data_type()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto embedding_shape = params_->shape(); | auto embedding_shape = params_->shape(); | ||||
| @@ -103,7 +103,7 @@ int ExpandDims::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> | |||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| int dim = GetDim(); | int dim = GetDim(); | ||||
| if (dim < 0) { | if (dim < 0) { | ||||
| @@ -43,7 +43,7 @@ int FftImag::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> out | |||||
| output->set_data_type(TypeId::kNumberTypeFloat32); | output->set_data_type(TypeId::kNumberTypeFloat32); | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto input_shape = input->shape(); | auto input_shape = input->shape(); | ||||
| input_shape.pop_back(); | input_shape.pop_back(); | ||||
| @@ -43,7 +43,7 @@ int FftReal::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> out | |||||
| output->set_data_type(TypeId::kNumberTypeFloat32); | output->set_data_type(TypeId::kNumberTypeFloat32); | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto input_shape = input->shape(); | auto input_shape = input->shape(); | ||||
| input_shape.pop_back(); | input_shape.pop_back(); | ||||
| @@ -71,7 +71,7 @@ int Fill::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> output | |||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| std::vector<int> output_shape; | std::vector<int> output_shape; | ||||
| @@ -40,7 +40,7 @@ int Flatten::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> out | |||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto input_shape = input->shape(); | auto input_shape = input->shape(); | ||||
| @@ -39,7 +39,7 @@ int FlattenGrad::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> | |||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto input_shape = input->shape(); | auto input_shape = input->shape(); | ||||
| @@ -70,7 +70,7 @@ int FullConnection::InferShape(std::vector<lite::Tensor *> inputs_, std::vector< | |||||
| auto output = outputs_.front(); | auto output = outputs_.front(); | ||||
| MS_ASSERT(output != nullptr); | MS_ASSERT(output != nullptr); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| if ((GetHasBias() && inputs_.size() != kMultiNum) || (!GetHasBias() && inputs_.size() != kDoubleNum)) { | if ((GetHasBias() && inputs_.size() != kMultiNum) || (!GetHasBias() && inputs_.size() != kDoubleNum)) { | ||||
| MS_LOG(ERROR) << "Input tensors num error"; | MS_LOG(ERROR) << "Input tensors num error"; | ||||
| @@ -114,7 +114,7 @@ int Gather::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> outp | |||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| int axis = GetAxis(); | int axis = GetAxis(); | ||||
| @@ -66,7 +66,7 @@ int GatherNd::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> ou | |||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto in_shape = input->shape(); | auto in_shape = input->shape(); | ||||
| int in_rank = in_shape.size(); | int in_rank = in_shape.size(); | ||||
| @@ -103,7 +103,7 @@ int LayerNorm::InferShape(std::vector<lite::Tensor *> inputs_, std::vector<lite: | |||||
| } | } | ||||
| } | } | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| output->set_shape(input_shape); | output->set_shape(input_shape); | ||||
| @@ -68,7 +68,7 @@ int Lstm::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> output | |||||
| outputs_.at(i)->set_format(input->format()); | outputs_.at(i)->set_format(input->format()); | ||||
| } | } | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| std::vector<int> in_shape = input->shape(); | std::vector<int> in_shape = input->shape(); | ||||
| @@ -101,7 +101,7 @@ int MatMul::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> outp | |||||
| output->set_data_type(input0->data_type()); | output->set_data_type(input0->data_type()); | ||||
| output->set_format(input0->format()); | output->set_format(input0->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| std::vector<int> a_shape = input0->shape(); | std::vector<int> a_shape = input0->shape(); | ||||
| @@ -93,7 +93,7 @@ int MaximumGrad::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> | |||||
| MS_ASSERT(dx1 != nullptr); | MS_ASSERT(dx1 != nullptr); | ||||
| MS_ASSERT(dx2 != nullptr); | MS_ASSERT(dx2 != nullptr); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto inShape0 = x1->shape(); | auto inShape0 = x1->shape(); | ||||
| @@ -77,7 +77,7 @@ int Mean::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> output | |||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| if (this->primitive_ == nullptr) { | if (this->primitive_ == nullptr) { | ||||
| return RET_NULL_PTR; | return RET_NULL_PTR; | ||||
| @@ -59,7 +59,7 @@ int Mfcc::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> output | |||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto input_shape = input->shape(); | auto input_shape = input->shape(); | ||||
| if (input_shape.size() != 3) { | if (input_shape.size() != 3) { | ||||
| @@ -48,7 +48,7 @@ int Nchw2Nhwc::InferShape(std::vector<lite::Tensor *> inputs_, std::vector<lite: | |||||
| output->set_format(schema::Format::Format_NHWC); | output->set_format(schema::Format::Format_NHWC); | ||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| std::vector<int> nchw_shape = input->shape(); | std::vector<int> nchw_shape = input->shape(); | ||||
| if (nchw_shape.size() != 4) { | if (nchw_shape.size() != 4) { | ||||
| @@ -49,7 +49,7 @@ int Nhwc2Nchw::InferShape(std::vector<lite::Tensor *> inputs_, std::vector<lite: | |||||
| output->set_format(schema::Format::Format_NCHW); | output->set_format(schema::Format::Format_NCHW); | ||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| std::vector<int> nhwc_shape = input->shape(); | std::vector<int> nhwc_shape = input->shape(); | ||||
| if (nhwc_shape.size() != 4) { | if (nhwc_shape.size() != 4) { | ||||
| @@ -117,7 +117,7 @@ int OneHot::InferShape(std::vector<Tensor *> inputs, std::vector<Tensor *> outpu | |||||
| output->set_data_type(on_value->data_type()); | output->set_data_type(on_value->data_type()); | ||||
| output->set_format(on_value->format()); | output->set_format(on_value->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| const auto input_shape = input->shape(); | const auto input_shape = input->shape(); | ||||
| int input_rank = static_cast<int>(input_shape.size()); | int input_rank = static_cast<int>(input_shape.size()); | ||||
| @@ -83,7 +83,7 @@ int Pad::InferShape(std::vector<Tensor *> inputs, std::vector<Tensor *> outputs) | |||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| std::vector<int> paddings; | std::vector<int> paddings; | ||||
| @@ -181,7 +181,7 @@ int Pooling::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> out | |||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| output->set_format(schema::Format::Format_NHWC); | output->set_format(schema::Format::Format_NHWC); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| int input_h = input->shape().at(1); | int input_h = input->shape().at(1); | ||||
| int input_w = input->shape().at(2); | int input_w = input->shape().at(2); | ||||
| @@ -115,7 +115,7 @@ int Power::InferShape(std::vector<Tensor *> inputs, std::vector<Tensor *> output | |||||
| output_tensor->set_data_type(x_tensor->data_type()); | output_tensor->set_data_type(x_tensor->data_type()); | ||||
| output_tensor->set_format(x_tensor->format()); | output_tensor->set_format(x_tensor->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| if (exp_tensor != nullptr) { | if (exp_tensor != nullptr) { | ||||
| if ((exp_tensor->shape().size() > 1 && exp_tensor->shape() != x_tensor->shape()) || | if ((exp_tensor->shape().size() > 1 && exp_tensor->shape() != x_tensor->shape()) || | ||||
| @@ -140,7 +140,7 @@ int PriorBox::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> ou | |||||
| output->set_data_type(kNumberTypeFloat32); | output->set_data_type(kNumberTypeFloat32); | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| std::vector<float> different_aspect_ratios{1.0f}; | std::vector<float> different_aspect_ratios{1.0f}; | ||||
| auto aspect_ratios = GetAspectRatios(); | auto aspect_ratios = GetAspectRatios(); | ||||
| @@ -63,7 +63,7 @@ int QuantDTypeCast::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor | |||||
| output->set_data_type(static_cast<TypeId>(GetDstT())); | output->set_data_type(static_cast<TypeId>(GetDstT())); | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| output->set_shape(input->shape()); | output->set_shape(input->shape()); | ||||
| return RET_OK; | return RET_OK; | ||||
| @@ -71,7 +71,7 @@ int Range::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> outpu | |||||
| } | } | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| int shape_size = 0; | int shape_size = 0; | ||||
| @@ -45,7 +45,7 @@ int Rank::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> output | |||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| std::vector<int> in_shape(1, 1); | std::vector<int> in_shape(1, 1); | ||||
| output->set_shape(in_shape); | output->set_shape(in_shape); | ||||
| @@ -157,7 +157,7 @@ int Reduce::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> outp | |||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| if (this->primitive_ == nullptr) { | if (this->primitive_ == nullptr) { | ||||
| return RET_NULL_PTR; | return RET_NULL_PTR; | ||||
| @@ -173,7 +173,7 @@ int Reshape::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> out | |||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| std::vector<int> out_shape; | std::vector<int> out_shape; | ||||
| @@ -131,7 +131,7 @@ int Resize::InferShape(std::vector<lite::Tensor *> inputs_, std::vector<lite::Te | |||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| std::vector<int> output_shape; | std::vector<int> output_shape; | ||||
| @@ -72,7 +72,7 @@ int Return::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> outp | |||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| if (this->primitive_ == nullptr) { | if (this->primitive_ == nullptr) { | ||||
| return RET_NULL_PTR; | return RET_NULL_PTR; | ||||
| @@ -66,7 +66,7 @@ int ReverseSequence::InferShape(std::vector<Tensor *> inputs, std::vector<Tensor | |||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| output->set_shape(input->shape()); | output->set_shape(input->shape()); | ||||
| return RET_OK; | return RET_OK; | ||||
| @@ -54,7 +54,7 @@ int Rfft::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> output | |||||
| output->set_data_type(TypeId::kNumberTypeComplex64); | output->set_data_type(TypeId::kNumberTypeComplex64); | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto input_shape = input->shape(); | auto input_shape = input->shape(); | ||||
| input_shape[input_shape.size() - 1] = GetFftLength() / 2 + 1; | input_shape[input_shape.size() - 1] = GetFftLength() / 2 + 1; | ||||
| @@ -79,7 +79,7 @@ int ROIPooling::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> | |||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto new_h = GetPooledH(); | auto new_h = GetPooledH(); | ||||
| @@ -62,7 +62,7 @@ int ScatterND::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> o | |||||
| output->set_data_type(update->data_type()); | output->set_data_type(update->data_type()); | ||||
| output->set_format(update->format()); | output->set_format(update->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto shape_data = reinterpret_cast<int *>(shape->MutableData()); | auto shape_data = reinterpret_cast<int *>(shape->MutableData()); | ||||
| std::vector<int> out_shape(shape_data, shape_data + shape->ElementsNum()); | std::vector<int> out_shape(shape_data, shape_data + shape->ElementsNum()); | ||||
| @@ -44,7 +44,7 @@ int Shape::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> outpu | |||||
| out_tensor->set_data_type(kNumberTypeInt32); | out_tensor->set_data_type(kNumberTypeInt32); | ||||
| out_tensor->set_format(schema::Format::Format_NHWC); | out_tensor->set_format(schema::Format::Format_NHWC); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| std::vector<int> out_shape; | std::vector<int> out_shape; | ||||
| out_shape.push_back(static_cast<int>(in_tensor->shape().size())); | out_shape.push_back(static_cast<int>(in_tensor->shape().size())); | ||||
| @@ -175,7 +175,7 @@ int Slice::InferShape(std::vector<lite::Tensor *> inputs, std::vector<lite::Tens | |||||
| outputs[0]->set_data_type(input->data_type()); | outputs[0]->set_data_type(input->data_type()); | ||||
| outputs[0]->set_format(input->format()); | outputs[0]->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto input_shape = input->shape(); | auto input_shape = input->shape(); | ||||
| std::vector<int32_t> slice_begin(GetBegin()); | std::vector<int32_t> slice_begin(GetBegin()); | ||||
| @@ -86,7 +86,7 @@ int SoftMax::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> out | |||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| if (input->shape().size() > 5) { | if (input->shape().size() > 5) { | ||||
| MS_LOG(ERROR) << "Softmax input dim must be less than 5, get " << input->shape().size(); | MS_LOG(ERROR) << "Softmax input dim must be less than 5, get " << input->shape().size(); | ||||
| @@ -97,7 +97,7 @@ int SpaceToBatch::InferShape(std::vector<lite::Tensor *> inputs, std::vector<lit | |||||
| outputs[0]->set_data_type(input->data_type()); | outputs[0]->set_data_type(input->data_type()); | ||||
| outputs[0]->set_format(input->format()); | outputs[0]->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto input_shape = input->shape(); | auto input_shape = input->shape(); | ||||
| if (input_shape.size() != kDimension_4d) { | if (input_shape.size() != kDimension_4d) { | ||||
| @@ -99,7 +99,7 @@ int SpaceToBatchND::InferShape(std::vector<lite::Tensor *> inputs, std::vector<l | |||||
| outputs[0]->set_data_type(input->data_type()); | outputs[0]->set_data_type(input->data_type()); | ||||
| outputs[0]->set_format(input->format()); | outputs[0]->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto input_shape = input->shape(); | auto input_shape = input->shape(); | ||||
| if (input_shape.size() != kDimension_4d) { | if (input_shape.size() != kDimension_4d) { | ||||
| @@ -74,7 +74,7 @@ int SpaceToDepth::InferShape(std::vector<lite::Tensor *> inputs, std::vector<lit | |||||
| outputs[0]->set_format(input->format()); | outputs[0]->set_format(input->format()); | ||||
| outputs[0]->set_data_type(input->data_type()); | outputs[0]->set_data_type(input->data_type()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto input_shape = input->shape(); | auto input_shape = input->shape(); | ||||
| if (input_shape.size() != kDimension_4d) { | if (input_shape.size() != kDimension_4d) { | ||||
| @@ -64,7 +64,7 @@ int SparseToDense::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor | |||||
| outputs_[0]->set_format(input2->format()); | outputs_[0]->set_format(input2->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| if (this->primitive_ == nullptr) { | if (this->primitive_ == nullptr) { | ||||
| return RET_NULL_PTR; | return RET_NULL_PTR; | ||||
| @@ -123,7 +123,7 @@ int Split::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> outpu | |||||
| outputs_[i]->set_format(input->format()); | outputs_[i]->set_format(input->format()); | ||||
| } | } | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| size_t split_dim = GetSplitDim() == -1 ? input->shape().size() - 1 : GetSplitDim(); | size_t split_dim = GetSplitDim() == -1 ? input->shape().size() - 1 : GetSplitDim(); | ||||
| std::vector<int> input_shape = input->shape(); | std::vector<int> input_shape = input->shape(); | ||||
| @@ -105,7 +105,7 @@ int Squeeze::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> out | |||||
| outputs_.front()->set_data_type(in_tensor->data_type()); | outputs_.front()->set_data_type(in_tensor->data_type()); | ||||
| outputs_.front()->set_format(in_tensor->format()); | outputs_.front()->set_format(in_tensor->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto in_shape = in_tensor->shape(); | auto in_shape = in_tensor->shape(); | ||||
| std::vector<int> out_shape; | std::vector<int> out_shape; | ||||
| @@ -83,7 +83,7 @@ int Stack::InferShape(std::vector<Tensor *> inputs, std::vector<Tensor *> output | |||||
| outputs[0]->set_data_type(input0_data_type); | outputs[0]->set_data_type(input0_data_type); | ||||
| outputs[0]->set_format(input->format()); | outputs[0]->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto input_shape = input->shape(); | auto input_shape = input->shape(); | ||||
| @@ -135,7 +135,7 @@ int Tile::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> output | |||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| std::vector<int> out_shape; | std::vector<int> out_shape; | ||||
| @@ -69,7 +69,7 @@ int TopK::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> output | |||||
| output1->set_data_type(kNumberTypeInt32); | output1->set_data_type(kNumberTypeInt32); | ||||
| output1->set_format(input->format()); | output1->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto out_shape = input->shape(); | auto out_shape = input->shape(); | ||||
| out_shape[out_shape.size() - 1] = GetK(); | out_shape[out_shape.size() - 1] = GetK(); | ||||
| @@ -122,7 +122,7 @@ int Transpose::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> o | |||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| MS_ASSERT(inputs_.size() == kSingleNum || inputs_.size() == kDoubleNum); | MS_ASSERT(inputs_.size() == kSingleNum || inputs_.size() == kDoubleNum); | ||||
| MS_ASSERT(outputs_.size() == kSingleNum); | MS_ASSERT(outputs_.size() == kSingleNum); | ||||
| @@ -65,7 +65,7 @@ int Unique::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> outp | |||||
| output1->set_format(input->format()); | output1->set_format(input->format()); | ||||
| output0->set_format(input->format()); | output0->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| output0->set_shape(input->shape()); | output0->set_shape(input->shape()); | ||||
| output1->set_shape(input->shape()); | output1->set_shape(input->shape()); | ||||
| @@ -78,7 +78,7 @@ int Unsqueeze::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> o | |||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| auto dims = GetAxis(); | auto dims = GetAxis(); | ||||
| @@ -66,7 +66,7 @@ int Unstack::InferShape(std::vector<Tensor *> inputs, std::vector<Tensor *> outp | |||||
| out->set_format(input->format()); | out->set_format(input->format()); | ||||
| } | } | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| std::vector<int> output_shape; | std::vector<int> output_shape; | ||||
| for (size_t i = 0; i < input_shape.size(); ++i) { | for (size_t i = 0; i < input_shape.size(); ++i) { | ||||
| @@ -81,7 +81,7 @@ int Where::InferShape(std::vector<Tensor *> inputs_, std::vector<Tensor *> outpu | |||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| int num = input0->ElementsNum(); | int num = input0->ElementsNum(); | ||||
| int num1 = input1->ElementsNum(); | int num1 = input1->ElementsNum(); | ||||
| @@ -56,7 +56,7 @@ int ZerosLike::InferShape(std::vector<lite::Tensor *> inputs_, std::vector<lite: | |||||
| output->set_data_type(input->data_type()); | output->set_data_type(input->data_type()); | ||||
| output->set_format(input->format()); | output->set_format(input->format()); | ||||
| if (!infer_flag()) { | if (!infer_flag()) { | ||||
| return RET_OK; | |||||
| return RET_INFER_INVALID; | |||||
| } | } | ||||
| output->set_shape(input->shape()); | output->set_shape(input->shape()); | ||||
| return RET_OK; | return RET_OK; | ||||