diff --git a/paddle/fluid/operators/mkldnn/transpose_mkldnn_op.cc b/paddle/fluid/operators/mkldnn/transpose_mkldnn_op.cc index 31110428be54a7a0c9198092cabb25873bdb29f0..9e9b2fb15827c4323abbe615148acd4ecb5da784 100644 --- a/paddle/fluid/operators/mkldnn/transpose_mkldnn_op.cc +++ b/paddle/fluid/operators/mkldnn/transpose_mkldnn_op.cc @@ -40,7 +40,8 @@ class TransposeMKLDNNOpKernel : public paddle::framework::OpKernel { const T* input_data = input->data(); if (ndims == 1) { - output->ShareDataWith(*input); + framework::TensorCopy(*input, input->place(), output); + output->set_format(input->format()); return; } @@ -85,7 +86,8 @@ class TransposeMKLDNNGradOpKernel : public paddle::framework::OpKernel { std::vector reversed_axis(axis); int ndims = axis.size(); if (ndims == 1) { - x_grad->ShareDataWith(*out_grad); + framework::TensorCopy(*out_grad, out_grad->place(), x_grad); + x_grad->set_format(out_grad->format()); return; }