docstr: Convert a dense layer to coreml.
docstr_tok: ["Convert","a","dense","layer","to","coreml","."]
code: def emit_FullyConnected(self, IR_node):
      """
      Convert a dense layer to coreml.
      """
      # Get input and output names
      input_name = self.IR_graph.get_node(IR_node.in_edges[0]).real_name
      output_name = IR_node.out_edges[0]
  
      has_bias = IR_node.get_attr("use_bias")
  
      # Get the weights from keras
      W = self.weights_dict[IR_node.name]["weights"].T
      Wb = (
          self.weights_dict[IR_node.name]["bias"].T
          if has_bias
          else None
      )
      output_channels, input_channels = W.shape
  
      self.builder.add_inner_product(
          name=IR_node.name,
          W=W,
          b=Wb,
          input_channels=input_channels,
          output_channels=output_channels,
          has_bias=has_bias,
          input_name=input_name,
          output_name=IR_node.name,
      )
  
imports: from __future__ import division
  import os
  import numpy
  from six import string_types
  from mmdnn.conversion.common.IR.IR_graph import IRGraph, IRGraphNode
  import mmdnn.conversion.common.IR.graph_pb2
  from mmdnn.conversion.common.IR.graph_pb2 import NodeDef, GraphDef, DataType
  from mmdnn.conversion.common.DataStructure.emitter import Emitter
  from mmdnn.conversion.common.utils import *
  from mmdnn.conversion.coreml.coreml_utils import _infer_coreml_input_shape
  from coremltools.models.neural_network import NeuralNetworkBuilder
  from coremltools.models import datatypes
  from coremltools.models import MLModel
  from coremltools.models.utils import save_spec
label_desc: Use image node_id 18 for calling the CoreMLEmitter obj's underlying member method code with example usage: obj.emit_FullyConnected(IR_node) without return types