fix bug in keras when only pass run options will trigger segmentation fault

This commit is contained in:
zilinzhu 2020-04-15 14:53:59 +08:00
parent 2ddbc3572c
commit 62ae247867

View File

@ -235,18 +235,13 @@ void RunCallableHelper(tensorflow::Session* session, int64_t handle,
}
}
// Allocate a RunMetadata protobuf object to receive the metadata,
// if the caller is expecting any.
std::unique_ptr<RunMetadata> run_metadata_proto;
if (run_metadata != nullptr) {
run_metadata_proto.reset(new RunMetadata);
}
RunMetadata run_metadata_proto;
// Run the callable.
std::vector<Tensor> output_tensors;
Py_BEGIN_ALLOW_THREADS;
s = session->RunCallable(handle, input_tensors, &output_tensors,
run_metadata_proto.get());
&run_metadata_proto);
Py_END_ALLOW_THREADS;
if (!s.ok()) {
@ -256,7 +251,7 @@ void RunCallableHelper(tensorflow::Session* session, int64_t handle,
// If requested, serialize the RunMetadata to pass it back to the caller.
if (run_metadata != nullptr) {
s = MessageToBuffer(*run_metadata_proto, run_metadata);
s = MessageToBuffer(run_metadata_proto, run_metadata);
if (!s.ok()) {
Set_TF_Status_from_Status(out_status, s);
return;