code: def bottom(x, model_hparams, vocab_size):
      """Bottom transformation for tuples of symbols.
  
      Like tensor2tensor.modalities.symbol_bottom but operates on tuples of
      symbols. Each tuple position uses its own vocabulary.
  
      Args:
        x: Tensor with shape [batch, ...].
        model_hparams: tf.contrib.training.HParams, model hyperparmeters.
        vocab_size: list of int, vocabulary sizes.
  
      Returns:
        Tensor.
      """
      if model_hparams.shared_embedding_and_softmax_weights:
          return bottom_simple(
              x, model_hparams, vocab_size, "shared", reuse=None
          )
      return bottom_simple(
          x, model_hparams, vocab_size, "input_emb", reuse=None
      )
  
file_path: magenta/magenta/models/score2perf/modalities.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from tensor2tensor.layers import common_layers
  import tensorflow.compat.v1
label_desc: Use image node_id 3 for calling a global function with example usage: bottom(x, model_hparams, vocab_size) and returns: bottom_simple, bottom_simple