code: def mlp(feature, hparams, name="mlp"):
      """Multi layer perceptron with dropout and relu activation."""
      with tf.variable_scope(name, "mlp", values=[feature]):
          num_mlp_layers = hparams.num_mlp_layers
          mlp_size = hparams.mlp_size
          for _ in range(num_mlp_layers):
              feature = common_layers.dense(
                  feature, mlp_size, activation=None
              )
              utils.collect_named_outputs(
                  "norms", "mlp_feature", tf.norm(feature, axis=-1)
              )
              feature = common_layers.layer_norm(feature)
              feature = tf.nn.relu(feature)
              feature = tf.nn.dropout(
                  feature, keep_prob=1.0 - hparams.dropout
              )
          return feature
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from six.moves import range
  from tensor2tensor.layers import common_attention
  from tensor2tensor.layers import common_hparams
  from tensor2tensor.layers import common_layers
  from tensor2tensor.layers import vqa_layers
  from tensor2tensor.models.research import vqa_attention
  from tensor2tensor.utils import registry
  import tensorflow.compat.v1
  from tensorflow.compat.v1 import estimator
  from tensorflow.contrib.layers.python.layers import utils
label_desc: Use image node_id 5 for calling a global function with example usage: mlp(feature, hparams, name) and returns: feature