code: def test_simple_bind_incomplete_shape_inference_in_one_forward_pass():
      r"""This is a special case that results in shape inference
      failure after moving _simple_bind logic from frontend to backend.
      Added here for testing against the network similar to the following one.
  
      Network diagram:
      weight --> abs_op --> sum_op --
            \                        |--> add_op
      data   --> fc_op  --> sum_op --
  
      Given data's shape, if the shape inference starts from weight node,
      then the node entries of negative_op and sum_op are unknown in the
      forward pass. Therefore, there are several unknown shapes after the
      first forward pass is done. Now the backward inference pass starts with
      the assumption that there are no unknown-shape node entries in the forward
      pass, and consequently, leads to CHECK_EQ failure.
      """
      data_shape = (5, 13)
      data = mx.sym.Variable("data")
      fc = mx.sym.FullyConnected(
          data=data, num_hidden=1, no_bias=True, name="fc"
      )
      modified_weight = mx.sym.abs(fc.get_internals()["fc_weight"])
      net = mx.sym.sum(modified_weight) + mx.sym.sum(fc)
      net._simple_bind(ctx=mx.cpu(), data=data_shape)
  
imports: import copy
  import sys
  import os
  import logging
  import re
  import json
  import mxnet
  import numpy
  from common import assertRaises, models, TemporaryDirectory
  from mxnet.base import NotImplementedForSymbol
  from mxnet.test_utils import discard_stderr, rand_shape_nd, use_np, environment
  from mxnet.util import np_shape
  import pickle
label_desc: Use image node_id 16 for calling a global function with example usage: test_simple_bind_incomplete_shape_inference_in_one_forward_pass() without return types