code: def _get_mutants(
      population, population_size, mixing_indices, differential_weight
  ):
      """Computes the mutatated vectors for each population member.
  
      Args:
        population:  Python `list` of `Tensor`s representing the
          current population vectors. Each `Tensor` must be of the same real dtype.
          The first dimension of each `Tensor` indexes individual
          population members. For example, if the population is a list with a
          single `Tensor` of shape [n, m1, m2], then `n` is the population size and
          the shape of an individual solution is [m1, m2].
          If there is more than one element in the population, then each `Tensor`
          in the list should have the first axis of the same size.
        population_size: Scalar integer `Tensor`. The size of the population.
        mixing_indices: `Tensor` of integral dtype and shape [n, 3] where `n` is the
          number of members in the population. Each element of the `Tensor` must be
          a valid index into the first dimension of the population (i.e range
          between `0` and `n-1` inclusive).
        differential_weight: Real scalar `Tensor`. Must be positive and less than
          2.0. The parameter controlling the strength of mutation.
  
      Returns:
        mutants: `Tensor` or Python `list` of `Tensor`s of the same shape and dtype
          as the input population. The mutated vectors.
      """
      mixing_indices = tf.reshape(mixing_indices, [-1])
      weights = tf.stack(
          [1.0, differential_weight, -differential_weight]
      )
  
      def _mutant_part(population_part):
          donors = tf.gather(population_part, mixing_indices)
          donors = tf.transpose(
              a=tf.reshape(donors, [population_size, 3, -1]),
              perm=[0, 2, 1],
          )
          return tf.math.reduce_sum(donors * weights, axis=-1)
  
      return [
          _mutant_part(population_part)
          for population_part in population
      ]
  
imports: import collections
  import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import categorical
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.util import seed_stream
label_desc: Use image node_id 9 for calling a global function with example usage: _get_mutants(population, population_size, mixing_indices, differential_weight) and returns: unknown, tf