code: def test_amp_conv():
      class TestNet(nn.HybridBlock):
          def __init__(self):
              super(TestNet, self).__init__()
              self.conv1 = nn.Conv2D(16, (3, 3))
              self.conv2 = nn.Conv2D(16, (3, 3))
  
          def forward(self, x):
              x = self.conv1(x)
              x = self.conv2(x)
              return x
  
      net = TestNet()
      net.initialize()
  
      data_example = mx.np.random.uniform(-1, 1, (1, 3, 8, 8))
  
      exp_data = mx.symbol.Variable("data")
      exp_weight = [
          mx.symbol.Variable("weight{}".format(i)) for i in range(2)
      ]
      exp_bias = [
          mx.symbol.Variable("bias{}".format(i)) for i in range(2)
      ]
      exp_sym = mx.symbol.amp_cast(exp_data, dtype=AMP_DTYPE)
      for weight, bias in zip(exp_weight, exp_bias):
          exp_sym = mx.symbol.Convolution(
              exp_sym, weight, bias, kernel=(3, 3), num_filter=1
          )
      exp_sym = exp_sym.get_backend_symbol(SG_PASS_NAME)
      check_amp_fuse(net, [data_example], exp_sym)
  
      exp_sym = mx.symbol.amp_cast(exp_data, dtype=AMP_DTYPE)
      for weight, bias in zip(exp_weight, exp_bias):
          exp_sym = mx.symbol.Convolution(
              exp_sym, weight, bias, kernel=(3, 3), num_filter=1
          )
      exp_sym = exp_sym.get_backend_symbol(SG_PASS_NAME)
      check_amp_fuse(net, [data_example], exp_sym, ["sg_onednn_conv_1"])
  
file_path: mxnet/tests/python/dnnl/subgraphs/test_amp_subgraph.py
imports: import json
  import mxnet
  from mxnet import amp
  from mxnet.gluon import nn
  from mxnet.test_utils import assert_almost_equal
  from subgraph_common import SG_PASS_NAME, QUANTIZE_SG_PASS_NAME
  from test_matmul_subgraph import MultiHeadAttention
  import os
  import sys
  from pathlib import Path
  from amp.common import check_amp_net_stats
label_desc: Use image node_id 4 for calling a global function with example usage: test_amp_conv() and returns: x