code: def test_dnnl_reshape():
      def test_reshape_after_conv(dst_shape):
          shape = (1, 1, 4, 4)
          data = mx.symbol.Variable("data")
          conv = mx.symbol.Convolution(
              data=data,
              num_filter=16,
              kernel=(1, 1),
              pad=(0, 0),
              stride=(1, 1),
          )
          res = mx.symbol.reshape(data=conv, shape=dst_shape)
          exe = res._simple_bind(mx.cpu(), data=shape, grad_req="null")
  
          val1 = np.random.uniform(-1, 1, shape)
          val2 = np.random.uniform(-1, 1, (16, 1, 1, 1))
          val3 = np.random.uniform(-1, 1, (1))
  
          exe.arg_arrays[0][:] = val1
          exe.arg_arrays[1][:] = val2
          exe.arg_arrays[2][:] = val3
          outputs = exe.forward(is_train=False)[0].asnumpy()
  
          conv_exe = conv._simple_bind(
              mx.cpu(), data=shape, grad_req="null"
          )
          conv_exe.arg_arrays[0][:] = val1
          conv_exe.arg_arrays[1][:] = val2
          conv_exe.arg_arrays[2][:] = val3
          data_npy = conv_exe.forward(is_train=False)[0].asnumpy()
          assert_almost_equal(outputs, data_npy.reshape(dst_shape))
  
      # Test dnnl reshape (Using shape)
      test_cases = [(256), (16, 16), (4, 4, 16), (4, 4, 4, 4)]
      for test_case in test_cases:
          test_reshape_after_conv(test_case)
  
imports: import sys
  import os
  import numpy
  import mxnet
  import pytest
  from mxnet.test_utils import rand_ndarray, assert_almost_equal
  from mxnet import gluon, context, use_np
  from mxnet.gluon import nn
  from mxnet.test_utils import *
  import itertools
label_desc: Use image node_id 3 for calling a global function with example usage: test_dnnl_reshape() without return types