diff --git a/paddle/fluid/framework/new_executor/interpreter/interpreter_util.cc b/paddle/fluid/framework/new_executor/interpreter/interpreter_util.cc index 2e1e8cf876379e9c88850b8a800eca83d28799f9..c3ef045412933b1e1ab6e06e5e78294c4a91867f 100644 --- a/paddle/fluid/framework/new_executor/interpreter/interpreter_util.cc +++ b/paddle/fluid/framework/new_executor/interpreter/interpreter_util.cc @@ -81,7 +81,6 @@ static std::set OpsNeedSetOutputDtypeWhenRegisterPhiKernel = { "histogram", "instance_norm", "is_empty", - "is_finite", "kthvalue", "lamb", "layer_norm", diff --git a/paddle/phi/kernels/cpu/isfinite_kernel.cc b/paddle/phi/kernels/cpu/isfinite_kernel.cc index e3cc3c83598fce9c8e95f958ca962a0771298de1..85d125794871d327d0150b5dd475487652eb3775 100644 --- a/paddle/phi/kernels/cpu/isfinite_kernel.cc +++ b/paddle/phi/kernels/cpu/isfinite_kernel.cc @@ -26,7 +26,9 @@ PD_REGISTER_KERNEL(isinf, double, phi::dtype::float16, int, - int64_t) {} + int64_t) { + kernel->OutputAt(0).SetDataType(phi::DataType::BOOL); +} PD_REGISTER_KERNEL(isnan, CPU, @@ -36,7 +38,9 @@ PD_REGISTER_KERNEL(isnan, double, phi::dtype::float16, int, - int64_t) {} + int64_t) { + kernel->OutputAt(0).SetDataType(phi::DataType::BOOL); +} PD_REGISTER_KERNEL(isfinite, CPU, @@ -46,4 +50,6 @@ PD_REGISTER_KERNEL(isfinite, double, phi::dtype::float16, int, - int64_t) {} + int64_t) { + kernel->OutputAt(0).SetDataType(phi::DataType::BOOL); +} diff --git a/paddle/phi/kernels/gpu/isfinite_kernel.cu b/paddle/phi/kernels/gpu/isfinite_kernel.cu index c7dde29101b5d5f7dd5125069e3edefe8c21a6b2..e8c2fa022ec7a56819a4e611b6c9e365953b7dfc 100644 --- a/paddle/phi/kernels/gpu/isfinite_kernel.cu +++ b/paddle/phi/kernels/gpu/isfinite_kernel.cu @@ -26,7 +26,9 @@ PD_REGISTER_KERNEL(isinf, double, phi::dtype::float16, int, - int64_t) {} + int64_t) { + kernel->OutputAt(0).SetDataType(phi::DataType::BOOL); +} PD_REGISTER_KERNEL(isnan, GPU, @@ -36,7 +38,9 @@ PD_REGISTER_KERNEL(isnan, double, phi::dtype::float16, int, - int64_t) {} + int64_t) { + kernel->OutputAt(0).SetDataType(phi::DataType::BOOL); +} PD_REGISTER_KERNEL(isfinite, GPU, @@ -46,4 +50,6 @@ PD_REGISTER_KERNEL(isfinite, double, phi::dtype::float16, int, - int64_t) {} + int64_t) { + kernel->OutputAt(0).SetDataType(phi::DataType::BOOL); +} diff --git a/paddle/phi/kernels/xpu/isfinite_kernel.cc b/paddle/phi/kernels/xpu/isfinite_kernel.cc index 27013496600d9a9a9e79f9acee1a188b005e5e59..0639a5907fc357cb46311e6aef79112ce7ae7f17 100644 --- a/paddle/phi/kernels/xpu/isfinite_kernel.cc +++ b/paddle/phi/kernels/xpu/isfinite_kernel.cc @@ -34,4 +34,6 @@ void IsnanKernel(const Context& ctx, const DenseTensor& x, DenseTensor* out) { } // namespace phi PD_REGISTER_KERNEL( - isnan, XPU, ALL_LAYOUT, phi::IsnanKernel, float, phi::dtype::float16) {} + isnan, XPU, ALL_LAYOUT, phi::IsnanKernel, float, phi::dtype::float16) { + kernel->OutputAt(0).SetDataType(phi::DataType::BOOL); +}