class_docstr: Base class for seq2seq models with embeddings
    
code: def default_params():
      params = ModelBase.default_params()
      params.update(
          {
              "source.max_seq_len": 50,
              "source.reverse": True,
              "target.max_seq_len": 50,
              "embedding.dim": 100,
              "embedding.init_scale": 0.04,
              "embedding.share": False,
              "inference.beam_search.beam_width": 0,
              "inference.beam_search.length_penalty_weight": 0.0,
              "inference.beam_search.choose_successors_fn": "choose_top_k",
              "optimizer.clip_embed_gradients": 0.1,
              "vocab_source": "",
              "vocab_target": "",
          }
      )
      return params
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from __future__ import unicode_literals
  import collections
  import tensorflow
  from seq2seq import graph_utils
  from seq2seq import losses
  from seq2seq.contrib.seq2seq.decoder import _transpose_batch_time
  from seq2seq.data import vocab
  from seq2seq.graph_utils import templatemethod
  from seq2seq.decoders.beam_search_decoder import BeamSearchDecoder
  from seq2seq.inference import beam_search
  from seq2seq.models.model_base import ModelBase, _flatten_dict
label_desc: Use image node_id 2 for calling the Seq2SeqModel obj's underlying member method code with example usage: obj.default_params() and returns: params