diff --git a/paddle/phi/kernels/stride/reshape_kernel.cc b/paddle/phi/kernels/stride/reshape_kernel.cc index 9c5c3306f6849..732eb86a45e19 100644 --- a/paddle/phi/kernels/stride/reshape_kernel.cc +++ b/paddle/phi/kernels/stride/reshape_kernel.cc @@ -43,10 +43,13 @@ void ReshapeStridedKernel(const Context& dev_ctx, out->ResetHolder(x.Holder()); } else { DenseTensor tmp; - tmp.set_meta(x.meta()); + DenseTensor tmp_x = x; + tmp_x.Resize(x_dims); + tmp_x.set_strides(x_stride); + tmp.set_meta(tmp_x.meta()); PD_VISIT_ALL_TYPES(x.dtype(), "ReshapeStridedKernel", ([&] { phi::ContiguousKernel( - dev_ctx, x, &tmp); + dev_ctx, tmp_x, &tmp); })); out->set_strides(DenseTensorMeta::calc_strides(out->dims())); out->set_offset(0);