def get_gnmt_encoder_decoder(cell_type='<STR_LIT>', attention_cell='<STR_LIT>', num_layers=<NUM_LIT:2>,<EOL>num_bi_layers=<NUM_LIT:1>, hidden_size=<NUM_LIT>, dropout=<NUM_LIT:0.0>, use_residual=False,<EOL>i2h_weight_initializer=None, h2h_weight_initializer=None,<EOL>i2h_bias_initializer=mx.init.LSTMBias(forget_bias=<NUM_LIT:1.0>),<EOL>h2h_bias_initializer='<STR_LIT>',<EOL>prefix='<STR_LIT>', params=None):
encoder = GNMTEncoder(cell_type=cell_type, num_layers=num_layers, num_bi_layers=num_bi_layers,<EOL>hidden_size=hidden_size, dropout=dropout,<EOL>use_residual=use_residual,<EOL>i2h_weight_initializer=i2h_weight_initializer,<EOL>h2h_weight_initializer=h2h_weight_initializer,<EOL>i2h_bias_initializer=i2h_bias_initializer,<EOL>h2h_bias_initializer=h2h_bias_initializer,<EOL>prefix=prefix + '<STR_LIT>', params=params)<EOL>decoder = GNMTDecoder(cell_type=cell_type, attention_cell=attention_cell, num_layers=num_layers,<EOL>hidden_size=hidden_size, dropout=dropout,<EOL>use_residual=use_residual,<EOL>i2h_weight_initializer=i2h_weight_initializer,<EOL>h2h_weight_initializer=h2h_weight_initializer,<EOL>i2h_bias_initializer=i2h_bias_initializer,<EOL>h2h_bias_initializer=h2h_bias_initializer,<EOL>prefix=prefix + '<STR_LIT>', params=params)<EOL>return encoder, decoder<EOL>
Build a pair of GNMT encoder/decoder

    Parameters
    ----------
    cell_type : str or type
    attention_cell : str or AttentionCell
    num_layers : int
    num_bi_layers : int
    hidden_size : int
    dropout : float
    use_residual : bool
    i2h_weight_initializer : mx.init.Initializer or None
    h2h_weight_initializer : mx.init.Initializer or None
    i2h_bias_initializer : mx.init.Initializer or None
    h2h_bias_initializer : mx.init.Initializer or None
    prefix : str, default 'gnmt_'
        Prefix for name of `Block`s.
    params : Parameter or None
        Container for weight sharing between cells.
        Created if `None`.

    Returns
    -------
    encoder : GNMTEncoder
    decoder : GNMTDecoder