diff options
author | Olivia Nordquist <nolivia@google.com> | 2017-11-20 12:27:49 -0800 |
---|---|---|
committer | TensorFlower Gardener <gardener@tensorflow.org> | 2017-11-20 12:35:03 -0800 |
commit | 1d97fe0abdf2279f3f9187e279646732f2264940 (patch) | |
tree | 4631c6640e02280b726b1b6bab06f69ed2886cd3 /tensorflow/c/c_api.cc | |
parent | f7a6c4294dfb1603da33a952080bc4c46935a461 (diff) |
fix bug in c_api TF_GraphSetTensorShape to be able to handle unknown shapes as per the documentation.
PiperOrigin-RevId: 176399293
Diffstat (limited to 'tensorflow/c/c_api.cc')
-rw-r--r-- | tensorflow/c/c_api.cc | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/tensorflow/c/c_api.cc b/tensorflow/c/c_api.cc index dd638de3c6..bb41f92306 100644 --- a/tensorflow/c/c_api.cc +++ b/tensorflow/c/c_api.cc @@ -939,13 +939,17 @@ void TF_GraphSetTensorShape(TF_Graph* graph, TF_Output output, return; } - std::vector<tensorflow::shape_inference::DimensionHandle> dim_vec; - dim_vec.reserve(num_dims); - for (int i = 0; i < num_dims; ++i) { - dim_vec.push_back(ic->MakeDim(dims[i])); + tensorflow::shape_inference::ShapeHandle new_shape; + if (num_dims != -1) { + std::vector<tensorflow::shape_inference::DimensionHandle> dim_vec; + dim_vec.reserve(num_dims); + for (int i = 0; i < num_dims; ++i) { + dim_vec.push_back(ic->MakeDim(dims[i])); + } + new_shape = ic->MakeShape(dim_vec); + } else { + new_shape = ic->UnknownShape(); } - - tensorflow::shape_inference::ShapeHandle new_shape = ic->MakeShape(dim_vec); status->status = graph->refiner.SetShape(node, output.index, new_shape); } |