code: def test_unpack_axis_times_transpose_unpack_axis(
      output_rank, x_input_shape, x_data, y_input_shape, y_data
  ):
      # test free axis times from unpack batch
      x = C.input_variable(x_input_shape)
      y = C.input_variable(y_input_shape)
      xx = C.unpack_batch(x)
      yy = C.unpack_batch(y)
      yyy = C.transpose(yy, range(len(yy.shape))[::-1])
      t = C.times(xx, yyy, output_rank=output_rank)
      cntk_result = t.eval({x: x_data, y: y_data})
      np_result = np.tensordot(
          x_data,
          np.transpose(y_data),
          axes=len(x_data.shape) - output_rank,
      )
      np.testing.assert_allclose(np_result, cntk_result)
  
imports: import numpy
  import pytest
  import cntk
  from cntk.ops.functions import Function, UserFunction
  from .ops_test_utils import AA
label_desc: Use image node_id 10 for calling a global function with example usage: test_unpack_axis_times_transpose_unpack_axis(output_rank, x_input_shape, x_data, y_input_shape, y_data) without return types