code: def vq_discrete_unbottleneck(x, hparams):
      """Simple undiscretization from vector quantized representation."""
      x_shape = common_layers.shape_list(x)
      bottleneck_size = 2**hparams.bottleneck_bits
      means = hparams.means
      x_flat = tf.reshape(x, [-1, bottleneck_size])
      result = tf.matmul(x_flat, means)
      result = tf.reshape(result, x_shape[:-1] + [hparams.hidden_size])
      return result
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import functools
  from six.moves import range
  from tensor2tensor.layers import common_layers
  from tensor2tensor.models import transformer
  from tensor2tensor.utils import beam_search
  from tensor2tensor.utils import registry
  from tensor2tensor.utils import t2t_model
  import tensorflow.compat.v1
  from tensorflow.compat.v1 import estimator
  from tensorflow.python.training import moving_averages
label_desc: Use image node_id 4 for calling a global function with example usage: vq_discrete_unbottleneck(x, hparams) and returns: result