diff --git a/src/operators/fetch_op.cpp b/src/operators/fetch_op.cpp index 852d5c48fcef57d7f7e06baecc2c1cbb09b5d530..efe0ca7a9d1330f5b9bcdc016b08a61a01129027 100644 --- a/src/operators/fetch_op.cpp +++ b/src/operators/fetch_op.cpp @@ -18,18 +18,12 @@ namespace operators { template void FetchOp::InferShape() const { + DLOG << "~~~~~~~~~~~~~~!!"; auto x_dims = this->param_.InputX()->dims(); this->param_.Out()->Resize(x_dims); + DLOG << "~~~~~~~~~~~~~~!!!"; } -template -void FetchOp::RunImpl() { -#ifdef PADDLE_MOBILE_CL - this->kernel_.Compute(this->param_); -#else - this->param_.Out()->ShareDataWith(*(this->param_.InputX())); -#endif -} } // namespace operators } // namespace paddle_mobile diff --git a/src/operators/fetch_op.h b/src/operators/fetch_op.h index 4e313092ccb9121ebfc307afe1705de466cd6774..c3ef5864f09491326c0d1c214044514bc6f76fa7 100644 --- a/src/operators/fetch_op.h +++ b/src/operators/fetch_op.h @@ -24,7 +24,6 @@ namespace operators { using std::string; template -#ifdef PADDLE_MOBILE_CL class FetchOp : public framework::OperatorWithKernel, FetchKernel> { @@ -35,26 +34,10 @@ class FetchOp : framework::OperatorWithKernel, FetchKernel>( type, inputs, outputs, attrs, scope) {} -#else -class FetchOp : public framework::OperatorBase { - public: - FetchOp(const string &type, const VariableNameMap &inputs, - const VariableNameMap &outputs, const framework::AttributeMap attrs, - std::shared_ptr scope) - : framework::OperatorBase(type, inputs, outputs, attrs, - scope), - param_(inputs, outputs, attrs, *scope) {} - void Init() {} -#endif void InferShape() const override; - void RunImpl() override; - protected: -#ifndef PADDLE_MOBILE_CL - FetchParam param_; -#endif }; } // namespace operators diff --git a/src/operators/kernel/arm/fetch_kernel.cpp b/src/operators/kernel/arm/fetch_kernel.cpp new file mode 100644 index 0000000000000000000000000000000000000000..ce5b34818a23550f977dc6bd5d3bbace05321fe3 --- /dev/null +++ b/src/operators/kernel/arm/fetch_kernel.cpp @@ -0,0 +1,26 @@ +/* Copyright (c) 2018 PaddlePaddle Authors. All Rights Reserved. + Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. */ +#ifdef FUSION_CONVADD_OP +#include "operators/kernel/fetch_kernel.h" +namespace paddle_mobile { +namespace operators { +template <> +bool FetchKernel::Init(FetchParam *param) { + return true; +} +template <> +void FetchKernel::Compute(const FetchParam ¶m) { + param.Out()->ShareDataWith(*(param.InputX())); +} +template class FetchKernel; +} // namespace operators +} // namespace paddle_mobile +#endif \ No newline at end of file