diff --git a/paddle/fluid/operators/rnn_op.cu.cc b/paddle/fluid/operators/rnn_op.cu.cc index 568db79722324fe6a5ca446d6ed56ea76c74a82c..f38bfd5968884cb1db78f60375af831fdefb3407 100644 --- a/paddle/fluid/operators/rnn_op.cu.cc +++ b/paddle/fluid/operators/rnn_op.cu.cc @@ -89,15 +89,16 @@ class RNNDescriptors { // ------------------- cudnn dropout descriptors --------------------- size_t state_size; - if (!is_test_ && !dropout_state->IsInitialized()) { + bool is_initialized = dropout_state->IsInitialized(); + if (!is_test_ && !is_initialized) { PADDLE_ENFORCE_CUDA_SUCCESS( platform::dynload::cudnnDropoutGetStatesSize(handle, &state_size)); dropout_state->mutable_data({static_cast(state_size)}, place); } - dropout_desc_.descriptor(handle, place, dropout_state->IsInitialized(), - dropout_prob_, is_test_ ? nullptr : dropout_state, - seed_, state_size); + dropout_desc_.descriptor(handle, place, is_initialized, dropout_prob_, + is_test_ ? nullptr : dropout_state, seed_, + state_size); // ------------------- cudnn rnn descriptors --------------------- #if CUDNN_VERSION >= 6000