code: def register_ops_if_needed(graph_ops):
    
    missing_ops = graph_ops - set(op_def_registry.get_registered_ops().keys())
  
    if not missing_ops:
      return
  
    p_buffer = c_api.TF_GetAllOpList()
    cpp_op_list = op_def_pb2.OpList()
    cpp_op_list.ParseFromString(c_api.TF_GetBuffer(p_buffer))
    cpp_registry_ops = {op.name: op for op in cpp_op_list.op}
  
    missing_op_list = op_def_pb2.OpList()
    for missing_op in missing_ops:
      if missing_op not in cpp_registry_ops:
        logging.info(
            "Op %s is missing from both the python and C++ registry.",
            missing_op)
      else:
        missing_op_list.op.extend([cpp_registry_ops[missing_op]])
        logging.info(
            "Adding op %s from c++ registry to python registry.",
            missing_op)
  
    op_def_registry.register_op_list(missing_op_list)
  
    # Note: Only raise missing op ValueError after trying to load ops.
    # This allows the test to exercise all the calls into TensorFlow
    # without having to write a C + python test.
    if not missing_ops <= set(cpp_registry_ops.keys()):
      raise RuntimeError(
          "Graph ops missing from the python registry (%s) are also absent from "
          "the c++ registry."
          % missing_ops.difference(set(cpp_registry_ops.keys())))
docs: Register graph ops absent in op_def_registry, if present in c++ registry.
  
    Args:
      graph_ops: set with graph op names to register.
  
    Raises:
      RuntimeError: if `graph_ops` contains ops that are not in either python or
        c++ registry.