code: def test_Deconvolution():
      def check_Deconvolution_training(stype):
          for shape in [(3, 3, 10), (3, 3, 10, 10), (3, 3, 3, 10, 10)]:
              data_tmp = np.random.normal(-0.1, 1, size=shape)
              data = mx.symbol.Variable("data", stype=stype)
  
              if np.array(shape).shape[0] == 3:
                  test = mx.symbol.Deconvolution(
                      data=data, kernel=(3,), stride=(2), num_filter=4
                  )
                  weight_tmp = np.random.normal(
                      -0.1, 0.1, size=(3, 4, 3)
                  )
              elif np.array(shape).shape[0] == 4:
                  test = mx.symbol.Deconvolution(
                      data=data,
                      kernel=(3, 3),
                      stride=(2, 2),
                      num_filter=4,
                  )
                  weight_tmp = np.random.normal(
                      -0.1, 0.1, size=(3, 4, 3, 3)
                  )
              elif np.array(shape).shape[0] == 5:
                  test = mx.symbol.Deconvolution(
                      data=data,
                      kernel=(3, 3, 3),
                      stride=(2, 2, 2),
                      num_filter=4,
                  )
                  weight_tmp = np.random.normal(
                      -0.1, 0.1, size=(3, 4, 3, 3, 3)
                  )
              else:
                  return 0
              bias_tmp = np.random.normal(0.1, 0.1, size=(4,))
              in_location = [
                  mx.nd.array(data_tmp).tostype(stype),
                  mx.nd.array(weight_tmp).tostype(stype),
                  mx.nd.array(bias_tmp).tostype(stype),
              ]
              check_numeric_gradient(
                  test,
                  in_location,
                  numeric_eps=1e-2,
                  rtol=0.16,
                  atol=1e-4,
              )
  
      stypes = ["row_sparse", "default"]
      for stype in stypes:
          check_Deconvolution_training(stype)
  
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 16 for calling a global function with example usage: test_Deconvolution() and returns: int