code: def test_space_to_depth(
      image_shape, num_channels, block_size, device_id, precision
  ):
      dev = cntk_device(device_id)
      from cntk.internal import sanitize_dtype_cntk
  
      input_val = np.random.randint(
          low=0, high=100, size=(num_channels,) + image_shape
      ).astype(PRECISION_TO_TYPE[precision])
      img = C.input_variable(
          (num_channels,) + image_shape,
          dtype=sanitize_dtype_cntk(PRECISION_TO_TYPE[precision]),
      )
      depth_to_space_op = C.depth_to_space(img, block_size)
      space_to_depth_op = C.space_to_depth(
          depth_to_space_op, block_size
      )
      output_val = np.squeeze(
          space_to_depth_op.eval({img: input_val}), 0
      )
  
      assert np.array_equal(output_val, input_val)
  
imports: from __future__ import division
  import numpy
  import cntk
  import pytest
  from .ops_test_utils import unittest_helper, _test_unary_op, _test_binary_op, AA, precision, PRECISION_TO_TYPE, cntk_device
  import cntk
  from cntk import Value
  from cntk.axis import Axis
  from cntk.internal import sanitize_dtype_cntk
  from ..None import constant
label_desc: Use image node_id 23 for calling a global function with example usage: test_space_to_depth(image_shape, num_channels, block_size, device_id, precision) without return types