code: def test_transpose():
      a = np.arange(120, dtype=np.float32).reshape(2, 3, 4, 5)
      from itertools import permutations
  
      for p in permutations(range(4)):
          assert np.array_equal(
              C.transpose(a, p).eval(), np.transpose(a, p)
          )
      # test permutations over odd number of axes just in case
      b = a.reshape(6, 4, 5)
      for p in permutations(range(3)):
          assert np.array_equal(
              C.transpose(b, p).eval(), np.transpose(b, p)
          )
      # test negative numbers
      for p in permutations(range(3)):
          q = [i - 3 for i in p]
          assert np.array_equal(
              C.transpose(b, q).eval(), np.transpose(b, q)
          )
  
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 10 for calling a global function with example usage: test_transpose() without return types