diff --git a/paddle/function/ContextProjectionOp.cpp b/paddle/function/ContextProjectionOp.cpp index d81ea58401606010d82eba0bfc01a295ccd753b5..b87750b74247bd0eb822340bc5a85d41b86ecec2 100644 --- a/paddle/function/ContextProjectionOp.cpp +++ b/paddle/function/ContextProjectionOp.cpp @@ -132,7 +132,7 @@ public: auto out_mat = out_seq.matrix(); const auto in_mat = val_seqs.matrix(); const auto w_mat = - (2UL == inputs.size()) + (2UL == inputs.size() && inputs[1].data()) ? inputs[1].matrix() : typename Tensor::Matrix(nullptr, 0, 0); const auto seq_vec = val_seqs.getSequenceId().vector(); @@ -263,7 +263,7 @@ public: !out_seq.data() ? typename Tensor::Matrix(nullptr, 0, 0) : out_seq.matrix(); auto w_grad_mat = - (2UL == outputs.size()) + (2UL == outputs.size() && outputs[1].data()) ? outputs[1].matrix() : typename Tensor::Matrix(nullptr, 0, 0);