docstr: Test unflattening with random inputs.
code: def test_unflatten_batch_to_2d_random(
      self, sizes, max_rows, num_features
  ):
      """Test unflattening with random inputs."""
      max_rows = np.max(sizes) if max_rows is None else max_rows
      output_shape = np.concatenate(
          (np.shape(sizes), (max_rows,), (num_features,))
      )
      total_rows = np.sum(sizes)
      data = 0.1 + np.random.uniform(size=(total_rows, num_features))
  
      unflattened = utils.unflatten_2d_to_batch(data, sizes, max_rows)
      flattened = tf.reshape(unflattened, (-1, num_features))
      nonzero_rows = tf.where(tf.norm(tensor=flattened, axis=-1))
      flattened_unpadded = tf.gather(
          params=flattened,
          indices=tf.squeeze(input=nonzero_rows, axis=-1),
      )
  
      self.assertAllEqual(tf.shape(input=unflattened), output_shape)
      self.assertAllEqual(flattened_unpadded, data)
  
imports: from absl.testing import parameterized
  import numpy
  from scipy import linalg
  import tensorflow
  from tensorflow_graphics.geometry.convolution import utils
  from tensorflow_graphics.util import test_case
label_desc: Use image node_id 3 for calling the UtilsUnflatten2dToBatchTest obj's underlying member method code with example usage: obj.test_unflatten_batch_to_2d_random(sizes, max_rows, num_features) without return types