code: def test_image_grid(self):
      x = objax.random.randint((5, 7, 3, 8, 4), 0, 256)
      y = objax.util.image.image_grid(x)
      z = x.transpose((2, 0, 3, 1, 4)).reshape((3, 40, 28))
      self.assertEqual(y.tolist(), z.tolist())
  
file_path: objax/tests/util_image.py
imports: import io
  import tempfile
  import unittest
  from typing import Tuple
  import jax.numpy
  import numpy
  from PIL import Image
  import objax
label_desc: Use image node_id 7 for calling the TestUtilImage obj's underlying member method code with example usage: obj.test_image_grid() without return types