code: def check_encoder_decoder_args(args) -> None:
      
      encoder_embed_dropout, decoder_embed_dropout = args.embed_dropout
      encoder_rnn_dropout_inputs, decoder_rnn_dropout_inputs = args.rnn_dropout_inputs
      encoder_rnn_dropout_states, decoder_rnn_dropout_states = args.rnn_dropout_states
      if encoder_embed_dropout > 0 and encoder_rnn_dropout_inputs > 0:
          logger.warning("Setting encoder RNN AND source embedding dropout > 0 leads to "
                         "two dropout layers on top of each other.")
      if decoder_embed_dropout > 0 and decoder_rnn_dropout_inputs > 0:
          logger.warning("Setting encoder RNN AND source embedding dropout > 0 leads to "
                         "two dropout layers on top of each other.")
      encoder_rnn_dropout_recurrent, decoder_rnn_dropout_recurrent = args.rnn_dropout_recurrent
      if encoder_rnn_dropout_recurrent > 0 or decoder_rnn_dropout_recurrent > 0:
          check_condition(args.rnn_cell_type == C.LSTM_TYPE,
                          "Recurrent dropout without memory loss only supported for LSTMs right now.")
docs: Check possible encoder-decoder argument conflicts.
  
      :param args: Arguments as returned by argparse.