docstr: Test channel_to_space2d and space_to_channel2d.
docstr_tok: ["Test","channel_to_space2d","and","space_to_channel2d","."]
code: def test_space_channel(self):
      """Test channel_to_space2d and space_to_channel2d."""
      x = shaparange((2, 3, 10, 30))
      y = objax.functional.space_to_channel2d(x, size=5)
      z = objax.functional.channel_to_space2d(y, size=5)
      self.assertEqual(x.tolist(), z.tolist())
      self.assertEqual(y.shape, (2, 75, 2, 6))
      y = objax.functional.space_to_channel2d(x, size=(2, 3))
      z = objax.functional.channel_to_space2d(y, size=(2, 3))
      self.assertEqual(x.tolist(), z.tolist())
      self.assertEqual(y.shape, (2, 18, 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 5 for calling the TestPooling obj's underlying member method code with example usage: obj.test_space_channel() without return types