diff --git a/paddle/fluid/operators/CMakeLists.txt b/paddle/fluid/operators/CMakeLists.txt index af43f606ffd4651414f705d29707d6b3d24758a4..4955d47ca77e599994a3e1959a2872e801663e09 100644 --- a/paddle/fluid/operators/CMakeLists.txt +++ b/paddle/fluid/operators/CMakeLists.txt @@ -96,7 +96,7 @@ endif() set(OP_HEADER_DEPS ${OP_HEADER_DEPS} phi phi_utils backward_infermeta sparse_backward_infermeta static_prim_api get_expected_kernel_func) -register_operators(EXCLUDES py_func_op warpctc_op dgc_op generated_op1 generated_op2 generated_op3 generated_op4 load_combine_op lstm_op run_program_op eye_op quantize_linear_op +register_operators(EXCLUDES py_func_op warpctc_op dgc_op generated_op1 generated_op2 generated_op3 generated_op4 load_combine_op lstm_op run_program_op quantize_linear_op recurrent_op save_combine_op sparse_attention_op sync_batch_norm_op activation_op ${OP_MKL_DEPS} DEPS ${OP_HEADER_DEPS}) op_library(generated_op UNITY SRCS generated_op1.cc generated_op2.cc generated_op3.cc generated_op4.cc DEPS ${OP_HEADER_DEPS}) @@ -140,7 +140,6 @@ if (WITH_MLU) endif() op_library(lstm_op DEPS ${OP_HEADER_DEPS} lstm_compute) -op_library(eye_op DEPS ${OP_HEADER_DEPS}) op_library(recurrent_op DEPS ${OP_HEADER_DEPS}) set(COMMON_OP_DEPS ${OP_HEADER_DEPS}) diff --git a/paddle/fluid/operators/eye_op.cc b/paddle/fluid/operators/eye_op.cc deleted file mode 100644 index 57582c694e8d997cf4602c4b5989d21d316f0add..0000000000000000000000000000000000000000 --- a/paddle/fluid/operators/eye_op.cc +++ /dev/null @@ -1,83 +0,0 @@ -/* Copyright (c) 2019 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. */ - -#include "paddle/fluid/framework/infershape_utils.h" -#include "paddle/fluid/framework/op_registry.h" -#include "paddle/phi/core/infermeta_utils.h" -#include "paddle/phi/infermeta/nullary.h" - -namespace paddle { -namespace operators { - -class EyeOp : public framework::OperatorWithKernel { - public: - using framework::OperatorWithKernel::OperatorWithKernel; - - protected: - phi::KernelKey GetExpectedKernelType( - const framework::ExecutionContext& ctx) const override { - return phi::KernelKey( - framework::proto::VarType::Type(ctx.Attr("dtype")), - ctx.GetPlace()); - } -}; - -class EyeOpVarTypeInference : public framework::VarTypeInference { - public: - void operator()(framework::InferVarTypeContext* ctx) const override { - auto data_type = static_cast( - PADDLE_GET_CONST(int, ctx->GetAttr("dtype"))); - ctx->SetOutputDataType("Out", data_type); - } -}; - -class EyeOpMaker : public framework::OpProtoAndCheckerMaker { - public: - void Make() override { - AddAttr("dtype", - "(int, default 5 (FP32)) " - "Output data type") - .SetDefault(framework::proto::VarType::FP32); - AddAttr("num_rows", - "(int64_t) the number of rows in output tensor") - .SupportTensor(); - AddAttr("num_columns", - "(int64_t) the number of columns in output tensor." - "Default -1 means that num_columns=num_rows") - .SetDefault(-1) - .SupportTensor(); - AddOutput("Out", - "(Tensor) Construct an identity tensor with " - "specified shape [num_rows, num_columns]"); - AddComment(R"DOC( -Return an identity tensor whose shape is [num_rows, num_columns]. -)DOC"); - } -}; -} // namespace operators -} // namespace paddle - -namespace ops = paddle::operators; -DECLARE_INFER_SHAPE_FUNCTOR(eye, - EyeInferShapeFunctor, - PD_INFER_META(phi::EyeInferMeta)); - -REGISTER_OPERATOR( - eye, - ops::EyeOp, - ops::EyeOpMaker, - ops::EyeOpVarTypeInference, - paddle::framework::EmptyGradOpMaker, - paddle::framework::EmptyGradOpMaker, - EyeInferShapeFunctor); diff --git a/paddle/phi/api/yaml/op_compat.yaml b/paddle/phi/api/yaml/op_compat.yaml index e6f1d597f584854f381048a3dad1a21f59dfc7dd..6bcbed49be07ea54b1d084a20361ac9f10f04226 100644 --- a/paddle/phi/api/yaml/op_compat.yaml +++ b/paddle/phi/api/yaml/op_compat.yaml @@ -643,6 +643,15 @@ extra : attrs : [bool use_mkldnn = false, bool use_cudnn = false] +- op : eye + outputs : + out : Out + scalar : + num_rows : + support_tensor : true + num_columns : + support_tensor : true + - op : fake_channel_wise_quantize_abs_max extra : attrs : [int round_type = 1] diff --git a/paddle/phi/api/yaml/static_ops.yaml b/paddle/phi/api/yaml/static_ops.yaml index a2ecdc8790aee41b2b96b97fb82c9391137ca938..235a1abde0064c4c568dd3bcf959d4ba57c535c2 100644 --- a/paddle/phi/api/yaml/static_ops.yaml +++ b/paddle/phi/api/yaml/static_ops.yaml @@ -69,6 +69,17 @@ backend : x force_backend : force_cpu +- op : eye + args : (Scalar(int64_t) num_rows, Scalar(int64_t) num_columns = -1, DataType dtype = DataType::FLOAT32) + output : Tensor(out) + infer_meta : + func : EyeInferMeta + param : [num_rows, num_columns, dtype] + kernel : + func : eye + param : [num_rows, num_columns, dtype] + data_type : dtype + - op : frobenius_norm args : (Tensor x, IntArray axis={0}, bool keepdim=false, bool reduce_all=false, int in_dtype=-1, int out_dtype=-1) output : Tensor(out) diff --git a/paddle/phi/ops/compat/eye_sig.cc b/paddle/phi/ops/compat/eye_sig.cc deleted file mode 100644 index 6dafb642795d116ad85e4544a0b8c4a8496d6291..0000000000000000000000000000000000000000 --- a/paddle/phi/ops/compat/eye_sig.cc +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright (c) 2022 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. - -#include "paddle/phi/core/compat/op_utils.h" - -namespace phi { - -KernelSignature EyeOpArgumentMapping(const ArgumentMappingContext& ctx) { - return KernelSignature( - "eye", {}, {"num_rows", "num_columns", "dtype"}, {"Out"}); -} - -} // namespace phi - -PD_REGISTER_ARG_MAPPING_FN(eye, phi::EyeOpArgumentMapping);