MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / UpdateNodeName

Method UpdateNodeName

tensorflow/core/grappler/mutable_graph_view.cc:551–592  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

549}
550
551Status MutableGraphView::UpdateNodeName(absl::string_view from_node_name,
552 absl::string_view to_node_name,
553 bool update_fanouts) {
554 auto error_status = [from_node_name, to_node_name,
555 update_fanouts](absl::string_view msg) {
556 string params = absl::Substitute(
557 "from_node_name='$0', to_node_name='$1', update_fanouts=$2",
558 from_node_name, to_node_name, update_fanouts);
559 return MutationError("UpdateNodeName", params, msg);
560 };
561
562 NodeDef* node = GetNode(from_node_name);
563 TF_RETURN_IF_ERROR(CheckNodeExists(from_node_name, node, error_status));
564
565 if (node->name() == to_node_name) {
566 return Status::OK();
567 }
568 if (HasNode(to_node_name)) {
569 return error_status(
570 "can't update node name because new node name is in use");
571 }
572 auto max_output_port = max_regular_output_port().find(node);
573 const bool has_max_output_port =
574 max_output_port != max_regular_output_port().end();
575 auto control_fanouts = fanouts().find({node, Graph::kControlSlot});
576
577 if (update_fanouts) {
578 SwapControlledFanoutInputs(*this, control_fanouts, to_node_name);
579 if (has_max_output_port) {
580 SwapRegularFanoutInputs(&fanouts(), node, to_node_name,
581 max_output_port->second);
582 }
583 } else if (has_max_output_port ||
584 HasFanoutValue(fanouts(), control_fanouts)) {
585 return error_status("can't update node name because node has fanouts");
586 }
587
588 nodes().erase(node->name());
589 node->set_name(string(to_node_name));
590 nodes().emplace(node->name(), node);
591 return Status::OK();
592}
593
594Status MutableGraphView::SwapNodeNames(absl::string_view from_node_name,
595 absl::string_view to_node_name,

Callers

nothing calls this directly

Calls 11

MutationErrorFunction · 0.85
CheckNodeExistsFunction · 0.85
SwapRegularFanoutInputsFunction · 0.85
HasFanoutValueFunction · 0.85
nameMethod · 0.65
findMethod · 0.45
endMethod · 0.45
eraseMethod · 0.45
set_nameMethod · 0.45
emplaceMethod · 0.45

Tested by

no test coverage detected