From 4543ca914fa1ce209509d962074ac6e963bc1d05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=82=85=E5=89=91=E5=AF=92?= Date: Fri, 7 Jul 2023 14:40:36 +0800 Subject: [PATCH] fix index_put bug when index is multi-dim bool tensor (#55191) * fix index_put bug when index is multi-dim bool tensor * fix name error --- paddle/phi/kernels/cpu/index_put_grad_kernel.cc | 2 +- paddle/phi/kernels/cpu/index_put_kernel.cc | 2 +- paddle/phi/kernels/gpu/index_put_grad_kernel.cu | 2 +- paddle/phi/kernels/gpu/index_put_kernel.cu | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/paddle/phi/kernels/cpu/index_put_grad_kernel.cc b/paddle/phi/kernels/cpu/index_put_grad_kernel.cc index 7c8ac0624e2..9426a5def65 100644 --- a/paddle/phi/kernels/cpu/index_put_grad_kernel.cc +++ b/paddle/phi/kernels/cpu/index_put_grad_kernel.cc @@ -195,7 +195,7 @@ void IndexPutGradKernel(const Context& dev_ctx, std::vector tmp_res_indices_v; std::vector range_tensor_v; - for (int i = indices.size(); i < x.dims().size(); ++i) { + for (int i = int_indices_v.size(); i < x.dims().size(); ++i) { range_tensor_v.emplace_back(funcs::GetRangeTensor( dev_ctx, x.dims()[i], phi::DataType::INT64)); } diff --git a/paddle/phi/kernels/cpu/index_put_kernel.cc b/paddle/phi/kernels/cpu/index_put_kernel.cc index da93a74886e..3ab05fea8fa 100644 --- a/paddle/phi/kernels/cpu/index_put_kernel.cc +++ b/paddle/phi/kernels/cpu/index_put_kernel.cc @@ -127,7 +127,7 @@ void IndexPutKernel(const Context& dev_ctx, std::vector range_tensor_v; const DenseTensor* ptr_value = nullptr; - for (int i = indices.size(); i < x.dims().size(); ++i) { + for (int i = int_indices_v.size(); i < x.dims().size(); ++i) { range_tensor_v.emplace_back(funcs::GetRangeTensor( dev_ctx, x.dims()[i], phi::DataType::INT64)); } diff --git a/paddle/phi/kernels/gpu/index_put_grad_kernel.cu b/paddle/phi/kernels/gpu/index_put_grad_kernel.cu index 9dca49ee7ff..1a301323cad 100644 --- a/paddle/phi/kernels/gpu/index_put_grad_kernel.cu +++ b/paddle/phi/kernels/gpu/index_put_grad_kernel.cu @@ -227,7 +227,7 @@ void IndexPutGradKernel(const Context& dev_ctx, std::vector tmp_res_indices_v; std::vector range_tensor_v; - for (int i = indices.size(); i < x.dims().size(); ++i) { + for (int i = int_indices_v.size(); i < x.dims().size(); ++i) { range_tensor_v.emplace_back(funcs::GetRangeCudaTensor( dev_ctx, x.dims()[i], phi::DataType::INT64)); } diff --git a/paddle/phi/kernels/gpu/index_put_kernel.cu b/paddle/phi/kernels/gpu/index_put_kernel.cu index fd4476fe11d..9710f5baca7 100644 --- a/paddle/phi/kernels/gpu/index_put_kernel.cu +++ b/paddle/phi/kernels/gpu/index_put_kernel.cu @@ -128,7 +128,7 @@ void IndexPutKernel(const Context& dev_ctx, std::vector range_tensor_v; const DenseTensor* ptr_value = nullptr; - for (int i = indices.size(); i < x.dims().size(); ++i) { + for (int i = int_indices_v.size(); i < x.dims().size(); ++i) { range_tensor_v.emplace_back(funcs::GetRangeCudaTensor( dev_ctx, x.dims()[i], phi::DataType::INT64)); } -- GitLab