| 499 | } |
| 500 | |
| 501 | void CSession::Run(TF_Status* s) { |
| 502 | if (inputs_.size() != input_values_.size()) { |
| 503 | ADD_FAILURE() << "Call SetInputs() before Run()"; |
| 504 | return; |
| 505 | } |
| 506 | ResetOutputValues(); |
| 507 | output_values_.resize(outputs_.size(), nullptr); |
| 508 | |
| 509 | const TF_Output* inputs_ptr = inputs_.empty() ? nullptr : &inputs_[0]; |
| 510 | TF_Tensor* const* input_values_ptr = |
| 511 | input_values_.empty() ? nullptr : &input_values_[0]; |
| 512 | |
| 513 | const TF_Output* outputs_ptr = outputs_.empty() ? nullptr : &outputs_[0]; |
| 514 | TF_Tensor** output_values_ptr = |
| 515 | output_values_.empty() ? nullptr : &output_values_[0]; |
| 516 | |
| 517 | TF_Operation* const* targets_ptr = targets_.empty() ? nullptr : &targets_[0]; |
| 518 | |
| 519 | TF_SessionRun(session_, nullptr, inputs_ptr, input_values_ptr, inputs_.size(), |
| 520 | outputs_ptr, output_values_ptr, outputs_.size(), targets_ptr, |
| 521 | targets_.size(), nullptr, s); |
| 522 | |
| 523 | DeleteInputValues(); |
| 524 | } |
| 525 | |
| 526 | void CSession::CloseAndDelete(TF_Status* s) { |
| 527 | DeleteInputValues(); |
no test coverage detected