| 284 | } |
| 285 | |
| 286 | of::Maybe<of::Job> Graph::GraphImpl::ApplyJobPasses(const of::Job& job) { |
| 287 | auto current_job = std::make_shared<of::Job>(job); |
| 288 | for (const auto& pass_fn : registered_job_passes_) { |
| 289 | std::string new_serialized_original_job = pass_fn(current_job->SerializeAsString()); |
| 290 | of::Job new_job; |
| 291 | if (!new_job.ParseFromString(new_serialized_original_job)) { |
| 292 | return of::Error::RuntimeError() << "invalid serialized job after pass applied"; |
| 293 | } |
| 294 | current_job->Swap(&new_job); |
| 295 | } |
| 296 | return current_job; |
| 297 | } |
| 298 | |
| 299 | std::vector<Tensor> Graph::GraphImpl::Forward(const std::vector<Tensor>& inputs) { |
| 300 | if (!is_compiled_) { |