| 1632 | } |
| 1633 | |
| 1634 | Status SavedModelOptimizer::FreezeSignatureDef() { |
| 1635 | std::map<string, SignatureDef> new_signature_def; |
| 1636 | bool found = false; |
| 1637 | for (auto sdef : meta_graph_def_->signature_def()) { |
| 1638 | if (sdef.first == signature_name_) { |
| 1639 | new_signature_def[signature_name_] = sdef.second; |
| 1640 | found = true; |
| 1641 | break; |
| 1642 | } |
| 1643 | } |
| 1644 | |
| 1645 | if (!found) { |
| 1646 | return tensorflow::errors::Internal( |
| 1647 | "Not found the signature_def with user specified signature name.", |
| 1648 | signature_name_); |
| 1649 | } |
| 1650 | |
| 1651 | meta_graph_def_->clear_signature_def(); |
| 1652 | auto sig_def = meta_graph_def_->mutable_signature_def(); |
| 1653 | for (auto sdef : new_signature_def) { |
| 1654 | (*sig_def)[sdef.first] = sdef.second; |
| 1655 | } |
| 1656 | |
| 1657 | // Add Init kv def |
| 1658 | Node* init_op = nullptr; |
| 1659 | for (Node* node : graph_.nodes()) { |
| 1660 | if (node->name() == GetInitNodeName()) { |
| 1661 | init_op = node; |
| 1662 | break; |
| 1663 | } |
| 1664 | } |
| 1665 | |
| 1666 | if (!init_op) { |
| 1667 | return tensorflow::errors::Internal( |
| 1668 | "Not found the init kv op in the graph.", |
| 1669 | GetInitNodeName()); |
| 1670 | } |
| 1671 | |
| 1672 | (*sig_def)[GetInitDefKey()] = SignatureDef(); |
| 1673 | TensorInfo tinfo; |
| 1674 | tinfo.set_name(GetInitNodeName()+":0"); |
| 1675 | (*(*sig_def)[GetInitDefKey()].mutable_outputs())["init_op"] = tinfo; |
| 1676 | |
| 1677 | return Status::OK(); |
| 1678 | } |
| 1679 | |
| 1680 | Status SavedModelOptimizer::RewriteDefaultValueOp() { |
| 1681 | return Status::OK(); |
nothing calls this directly
no test coverage detected