diff --git a/paddle/gserver/layers/MKLDNNLayer.h b/paddle/gserver/layers/MKLDNNLayer.h index 9b54c95b55cc9b503de5ff527ac983eb4752ddb0..2c21a5b2aaecb17a52a5de9a98664068f2255d83 100644 --- a/paddle/gserver/layers/MKLDNNLayer.h +++ b/paddle/gserver/layers/MKLDNNLayer.h @@ -339,9 +339,13 @@ private: * clear all grad */ void clearGrads() { - output_.grad->zeroMem(); + if (output_.grad) { + output_.grad->zeroMem(); + } for (size_t i = 0; i < outputOtherDevice_.size(); i++) { - outputOtherDevice_[i].grad->zeroMem(); + if (outputOtherDevice_[i].grad) { + outputOtherDevice_[i].grad->zeroMem(); + } } }