code: def emit_Mul(self, IR_node):
      inputs = ", ".join(
          "'" + self.IR_graph.get_node(i).real_variable_name + "'"
          for i in IR_node.in_edges
      )
  
      if (
          IR_node.name in self.weights_dict
          and "weights" in self.weights_dict[IR_node.name]
      ):
          self.add_body(
              1,
              "{:15} = np.array([_weights_dict['{}']['weights']])".format(
                  IR_node.variable_name + "_weight_array", IR_node.name
              ),
          )
          self.add_body(
              1,
              "{:15} = helper.make_node('Constant', inputs=[], outputs=['{}'], value=helper.make_tensor(name='const_tensor', data_type=onnx.mapping.NP_TYPE_TO_TENSOR_TYPE[{}.dtype], dims={}.shape, vals={}), name='{}')".format(
                  IR_node.variable_name + "_weight",
                  IR_node.variable_name + "_weight",
                  IR_node.variable_name + "_weight_array",
                  IR_node.variable_name + "_weight_array",
                  IR_node.variable_name + "_weight_array",
                  IR_node.variable_name + "_weight",
              ),
          )
          inputs += ", " + "".join(
              "'" + IR_node.variable_name + "_weight'"
          )
          self.nodes.append(IR_node.variable_name + "_weight")
  
      self.add_body(
          1,
          "{:15} = helper.make_node('Mul', inputs=[{}], outputs=['{}'], broadcast=1, name='{}')".format(
              IR_node.variable_name,
              inputs,
              IR_node.variable_name,
              IR_node.variable_name,
          ),
      )
      self.nodes.append(IR_node.variable_name)
  
imports: from mmdnn.conversion.common.DataStructure.emitter import Emitter
  from mmdnn.conversion.common.IR.IR_graph import IRGraph
  import os.path
  import mmdnn.conversion.common.IR.graph_pb2
  import numpy
  import sys
label_desc: Use image node_id 21 for calling the OnnxEmitter obj's underlying member method code with example usage: obj.emit_Mul(IR_node) without return types