parameters: (
      nn_spec, cy_nodes, cy_edges, spec_outputs, input_spec, input_shape_dict=None
  )
return_statement: return cy_data
docstring: Parameters
      ----------
      nn_spec : Neural Network Spec
      cy_nodes : list to add nn nodes to
      cy_edges : list to add edges for nn nodes to
      spec_outputs : outputs of nn spec
      input_spec : input spec of Neural Network
  
      Returns
      -------
  
      cy_data : concatenated list of updated cy_nodes and cy_edges
function: def _neural_network_nodes_and_edges(
      nn_spec, cy_nodes, cy_edges, spec_outputs, input_spec, input_shape_dict=None
  ):
      """
  
      Parameters
      ----------
      nn_spec : Neural Network Spec
      cy_nodes : list to add nn nodes to
      cy_edges : list to add edges for nn nodes to
      spec_outputs : outputs of nn spec
      input_spec : input spec of Neural Network
  
      Returns
      -------
  
      cy_data : concatenated list of updated cy_nodes and cy_edges
  
      """
      cy_nodes = _neural_network_node_info(nn_spec, cy_nodes)
      cy_nodes.append(
          {
              "data": {
                  "id": "output_node",
                  "name": "",
                  "info": {"type": "output node"},
                  "classes": "output",
              }
          }
      )
  
      for model_output, output_type in spec_outputs:
          cy_nodes.append(
              {
                  "data": {
                      "id": str(model_output),
                      "name": str(model_output),
                      "info": {
                          "type": "\n".join(str(output_type).split("\n")),
                          "inputs": str([model_output]),
                          "outputs": str([]),
                      },
                      "parent": "output_node",
                  },
                  "classes": "output",
              }
          )
  
      shape_dict = _infer_shapes(nn_spec, input_spec, input_shape_dict=input_shape_dict)
      cy_nodes, cy_edges = _calculate_edges(cy_nodes, cy_edges, shape_dict)
  
      cy_data = cy_nodes + cy_edges
      return cy_data
function_tokens: def _neural_network_nodes_and_edges ( nn_spec , cy_nodes , cy_edges , spec_outputs , input_spec , input_shape_dict = None ) : cy_nodes = _neural_network_node_info ( nn_spec , cy_nodes ) cy_nodes . append ( { "data" : { "id" : "output_node" , "name" : "" , "info" : { "type" : "output node" } , "classes" : "output" , } } ) for model_output , output_type in spec_outputs : cy_nodes . append ( { "data" : { "id" : str ( model_output ) , "name" : str ( model_output ) , "info" : { "type" : "\n" . join ( str ( output_type ) . split ( "\n" ) ) , "inputs" : str ( [ model_output ] ) , "outputs" : str ( [ ] ) , } , "parent" : "output_node" , } , "classes" : "output" , } ) shape_dict = _infer_shapes ( nn_spec , input_spec , input_shape_dict = input_shape_dict ) cy_nodes , cy_edges = _calculate_edges ( cy_nodes , cy_edges , shape_dict ) cy_data = cy_nodes + cy_edges return cy_data