parameters: (regex_obj, row, row_dict_list,
                                line, iteration, seconds, learning_rate)
return_statement: return row_dict_list, row
docstring: Parse a single line for training or test output
  
      Returns a a tuple with (row_dict_list, row)
      row: may be either a new row or an augmented version of the current row
      row_dict_list: may be either the current row_dict_list or an augmented
      version of the current row_dict_list
docstring_summary: Parse a single line for training or test output
docstring_tokens: Parse a single line for training or test output
function: def parse_line_for_net_output(regex_obj, row, row_dict_list,
                                line, iteration, seconds, learning_rate):
      """Parse a single line for training or test output
  
      Returns a a tuple with (row_dict_list, row)
      row: may be either a new row or an augmented version of the current row
      row_dict_list: may be either the current row_dict_list or an augmented
      version of the current row_dict_list
      """
  
      output_match = regex_obj.search(line)
      if output_match:
          if not row or row['NumIters'] != iteration:
              # Push the last row and start a new one
              if row:
                  # If we're on a new iteration, push the last row
                  # This will probably only happen for the first row; otherwise
                  # the full row checking logic below will push and clear full
                  # rows
                  row_dict_list.append(row)
  
              row = OrderedDict([
                  ('NumIters', iteration),
                  ('Seconds', seconds),
                  ('LearningRate', learning_rate)
              ])
  
          # output_num is not used; may be used in the future
          # output_num = output_match.group(1)
          output_name = output_match.group(2)
          output_val = output_match.group(3)
          row[output_name] = float(output_val)
  
      if row and len(row_dict_list) >= 1 and len(row) == len(row_dict_list[0]):
          # The row is full, based on the fact that it has the same number of
          # columns as the first row; append it to the list
          row_dict_list.append(row)
          row = None
  
      return row_dict_list, row
function_tokens: def parse_line_for_net_output ( regex_obj , row , row_dict_list , line , iteration , seconds , learning_rate ) : output_match = regex_obj . search ( line ) if output_match : if not row or row [ 'NumIters' ] != iteration : # Push the last row and start a new one if row : # If we're on a new iteration, push the last row # This will probably only happen for the first row; otherwise # the full row checking logic below will push and clear full # rows row_dict_list . append ( row ) row = OrderedDict ( [ ( 'NumIters' , iteration ) , ( 'Seconds' , seconds ) , ( 'LearningRate' , learning_rate ) ] ) # output_num is not used; may be used in the future # output_num = output_match.group(1) output_name = output_match . group ( 2 ) output_val = output_match . group ( 3 ) row [ output_name ] = float ( output_val ) if row and len ( row_dict_list ) >= 1 and len ( row ) == len ( row_dict_list [ 0 ] ) : # The row is full, based on the fact that it has the same number of # columns as the first row; append it to the list row_dict_list . append ( row ) row = None return row_dict_list , row