aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/c/c_api.cc
diff options
context:
space:
mode:
authorGravatar Olivia Nordquist <nolivia@google.com>2017-11-20 12:27:49 -0800
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2017-11-20 12:35:03 -0800
commit1d97fe0abdf2279f3f9187e279646732f2264940 (patch)
tree4631c6640e02280b726b1b6bab06f69ed2886cd3 /tensorflow/c/c_api.cc
parentf7a6c4294dfb1603da33a952080bc4c46935a461 (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.cc16
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);
}