code: def expand_by_device(original_parallelism, device_parallelism, data):
      """Opposite of reduce_by_device().
  
      Args:
        original_parallelism: a expert_utils.Parallelism object.
        device_parallelism: a expert_utils.Parallelism object.
        data: a list of tensors with length device_parallelism.n
  
      Returns:
        a list of Tensors with length original_parallelism.n
      """
      device_to_datum = {
          device_parallelism.devices[i]: data[i]
          for i in range(device_parallelism.n)
      }
      return [device_to_datum[d] for d in original_parallelism.devices]
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import functools
  import math
  import six
  from six.moves import range
  from six.moves import zip
  from tensor2tensor.layers import common_layers
  from tensor2tensor.layers.vq_discrete import DiscreteBottleneck
  import tensorflow.compat.v1
label_desc: Use image node_id 21 for calling a global function with example usage: expand_by_device(original_parallelism, device_parallelism, data) and returns: unknown