diff --git a/src/framework/load_ops.h b/src/framework/load_ops.h index dd46776219565243f23955e279f57f76f94df24a..03fdd8d433cd40aa7ba4786f02221bd24bd3a050 100644 --- a/src/framework/load_ops.h +++ b/src/framework/load_ops.h @@ -199,6 +199,12 @@ LOAD_OP3(pool2d, CPU, MALI_GPU, FPGA); #ifdef MULTICLASSNMS_OP LOAD_OP1(multiclass_nms, CPU); #endif +#ifdef SUM_OP +LOAD_OP1(sum, CPU); +#endif +#ifdef ELEMENTWISEMUL_OP +LOAD_OP1(elementwise_mul, CPU); +#endif #ifdef SLICE_OP LOAD_OP2(slice, CPU, MALI_GPU); #endif diff --git a/src/operators/kernel/central-arm-func/sum_arm_func.h b/src/operators/kernel/central-arm-func/sum_arm_func.h index 0319f2b23418f36670ca51993e97726879f12ec1..25c1c51c7abd62a900665197ab4e221b76a3fa04 100644 --- a/src/operators/kernel/central-arm-func/sum_arm_func.h +++ b/src/operators/kernel/central-arm-func/sum_arm_func.h @@ -27,13 +27,11 @@ void SumCompute(const SumParam ¶m) { auto *outvar = param.OutVar(); bool in_place = outvar == inputsvars[0]; - DLOG << "11:"; if (outvar->IsType()) { auto *out = outvar->GetMutable(); if (!in_place) { out->mutable_data(); } - DLOG << "1:"; auto *outptr = out->data(); // auto result = Flatten(*out); @@ -62,7 +60,6 @@ void SumCompute(const SumParam ¶m) { } } else if (outvar->IsType()) { - DLOG << "2:"; std::unique_ptr in0; if (in_place) { // If is in_place, we store the input[0] to in0 @@ -119,12 +116,12 @@ void SumCompute(const SumParam ¶m) { if (sel_row.rows().size() == 0) { continue; } - PADDLE_MOBILE_ENFORCE(out->height() == sel_row.height()); + PADDLE_MOBILE_ENFORCE(out->height() == sel_row.height(), + "seletrows height != outheight"); functor(sel_row, offset, out); offset += sel_row.value().numel(); } } else if (outvar->IsType()) { - DLOG << "3:"; auto &out_array = *outvar->GetMutable(); for (size_t i = in_place ? 1 : 0; i < inputsvars.size(); ++i) { PADDLE_MOBILE_ENFORCE(inputsvars[i]->IsType(), @@ -140,7 +137,8 @@ void SumCompute(const SumParam ¶m) { framework::TensorCopy((*in_array)[i], &out_array[i]); out_array[i].set_lod((*in_array)[i].lod()); } else { - PADDLE_MOBILE_ENFORCE(out_array[i].lod() == (*in_array)[i].lod()); + PADDLE_MOBILE_ENFORCE(out_array[i].lod() == (*in_array)[i].lod(), + "outLod != inLod"); auto *inptr = (*in_array)[i].data(); auto *outptr = out_array[i].data(); @@ -152,9 +150,7 @@ void SumCompute(const SumParam ¶m) { } } } else { - DLOG << "2:"; if (outvar->IsType()) { - DLOG << "3: "; } PADDLE_MOBILE_THROW_EXCEPTION( "Unexpected branch, output variable type is %s", outvar->Type().name()); diff --git a/src/operators/math/selected_rows_functor.h b/src/operators/math/selected_rows_functor.h index 8cf1f5ca395d111ecca90f802773703ecb3286c9..f8b5521e4d19fd3199e7b05a902c98b731c9fbd0 100644 --- a/src/operators/math/selected_rows_functor.h +++ b/src/operators/math/selected_rows_functor.h @@ -47,7 +47,7 @@ struct SelectedRowsAddTo { const int64_t input2_offset, framework::SelectedRows* input2) { auto in1_height = input1.height(); - PADDLE_MOBILE_ENFORCE(in1_height == input2->height()); + PADDLE_MOBILE_ENFORCE(in1_height == input2->height(), "height error"); auto& in1_rows = input1.rows(); auto& in2_rows = *(input2->mutable_rows()); @@ -77,13 +77,14 @@ struct SelectedRowsAddToTensor { framework::Tensor* input2) { auto in1_height = input1.height(); auto in2_dims = input2->dims(); - PADDLE_MOBILE_ENFORCE(in1_height == in2_dims[0]); + PADDLE_MOBILE_ENFORCE(in1_height == in2_dims[0], "height != dims[0]"); auto& in1_value = input1.value(); auto& in1_rows = input1.rows(); int64_t in1_row_numel = in1_value.numel() / in1_rows.size(); - PADDLE_MOBILE_ENFORCE(in1_row_numel == input2->numel() / in1_height); + PADDLE_MOBILE_ENFORCE(in1_row_numel == input2->numel() / in1_height, + "row_numel error"); auto* in1_data = in1_value.data(); auto* input2_data = input2->data(); diff --git a/src/operators/op_param.h b/src/operators/op_param.h index d1795ae3475b5dccb1d50cfe37bde356e70468b1..70562da8f8961daed9c0057f3ebc8e1a1a6e340e 100644 --- a/src/operators/op_param.h +++ b/src/operators/op_param.h @@ -471,15 +471,6 @@ class ElementwiseMulParam : OpParam { GType *input_y_; GType *out_; int axis_; -#ifdef PADDLE_MOBILE_FPGA - - private: - fpga::EWMulArgs fpga_EW_mul_args; - - public: - const fpga::EWMulArgs &FpgaArgs() const { return fpga_EW_mul_args; } - void SetFpgaArgs(const fpga::EWMulArgs &args) { fpga_EW_mul_args = args; } -#endif }; #endif @@ -628,15 +619,6 @@ class SumParam : public OpParam { Variable *out_var_; vector inputs_; GType *out_; -#ifdef PADDLE_MOBILE_FPGA - - private: - fpga::SumArgs fpga_sum_args; - - public: - const fpga::SumArgs &FpgaArgs() const { return fpga_sum_args; } - void SetFpgaArgs(const fpga::SumArgs &args) { fpga_sum_args = args; } -#endif }; #endif