parameters: (eval_dict)
return_statement: return update_op, value_ops
docstring: Separate update operations from metric value operations.
docstring_summary: Separate update operations from metric value operations.
docstring_tokens: Separate update operations from metric value operations .
function: def _extract_metric_update_ops(eval_dict):
    """Separate update operations from metric value operations."""
    update_ops = []
    value_ops = {}
    # Sort metrics lexicographically so graph is identical every time.
    for name, metric_ops in sorted(six.iteritems(eval_dict)):
      value_ops[name] = metric_ops[0]
      update_ops.append(metric_ops[1])
  
    if update_ops:
      update_op = control_flow_ops.group(*update_ops)
    else:
      update_op = None
  
    return update_op, value_ops
function_tokens: def _extract_metric_update_ops ( eval_dict ) : update_ops = [ ] value_ops = { } # Sort metrics lexicographically so graph is identical every time. for name , metric_ops in sorted ( six . iteritems ( eval_dict ) ) : value_ops [ name ] = metric_ops [ 0 ] update_ops . append ( metric_ops [ 1 ] ) if update_ops : update_op = control_flow_ops . group ( * update_ops ) else : update_op = None return update_op , value_ops