docstr: Test batch_to_space2d and space_to_batch2d.
docstr_tok: ["Test","batch_to_space2d","and","space_to_batch2d","."]
code: def test_space_batch(self):
      """Test batch_to_space2d and space_to_batch2d."""
      x = shaparange((2, 3, 10, 30))
      y = objax.functional.space_to_batch2d(x, size=5)
      z = objax.functional.batch_to_space2d(y, size=5)
      self.assertEqual(x.tolist(), z.tolist())
      self.assertEqual(y.shape, (50, 3, 2, 6))
      y = objax.functional.space_to_batch2d(x, size=(2, 3))
      z = objax.functional.batch_to_space2d(y, size=(2, 3))
      self.assertEqual(x.tolist(), z.tolist())
      self.assertEqual(y.shape, (12, 3, 5, 10))
  
file_path: objax/tests/functional_pooling.py
imports: import unittest
  import jax.numpy
  import numpy
  import objax
label_desc: Use image node_id 4 for calling the TestPooling obj's underlying member method code with example usage: obj.test_space_batch() without return types