| 532 | } |
| 533 | |
| 534 | Status CreateOutputWithScope(string op_name, |
| 535 | absl::Span<const ::tensorflow::Input> inputs, |
| 536 | const Scope& scope, Output* output) { |
| 537 | TF_RETURN_IF_ERROR(scope.status()); |
| 538 | const auto unique_name = scope.GetUniqueNameForOp(op_name); |
| 539 | auto builder = ::tensorflow::NodeBuilder(unique_name, op_name); |
| 540 | for (auto input : inputs) { |
| 541 | TF_RETURN_IF_ERROR(scope.status()); |
| 542 | builder = builder.Input(input.node()); |
| 543 | } |
| 544 | ::tensorflow::Node* ret; |
| 545 | scope.UpdateBuilder(&builder); |
| 546 | TF_RETURN_IF_ERROR(scope.status()); |
| 547 | scope.UpdateStatus(builder.Finalize(scope.graph(), &ret)); |
| 548 | TF_RETURN_IF_ERROR(scope.status()); |
| 549 | *output = Output(ret, 0); |
| 550 | return Status::OK(); |
| 551 | } |
| 552 | |
| 553 | } // namespace tensorflow |