aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar A. Unique TensorFlower <gardener@tensorflow.org>2018-01-04 09:51:00 -0800
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2018-01-04 09:54:47 -0800
commit04cd5ca681df5a5526779e98d53686e4a2fa2866 (patch)
tree58aa80a59e9f76c28d416138c5a1729c000f9d78
parent3aac69ade29b29905fd0a35ea078779204148c3d (diff)
Ensure decode_raw on an empty string returns an empty tensor.
PiperOrigin-RevId: 180809736
-rw-r--r--tensorflow/core/kernels/decode_raw_op.cc2
-rw-r--r--tensorflow/python/kernel_tests/decode_raw_op_test.py5
2 files changed, 4 insertions, 3 deletions
diff --git a/tensorflow/core/kernels/decode_raw_op.cc b/tensorflow/core/kernels/decode_raw_op.cc
index 1c0085cfea..bacacb94ae 100644
--- a/tensorflow/core/kernels/decode_raw_op.cc
+++ b/tensorflow/core/kernels/decode_raw_op.cc
@@ -51,7 +51,7 @@ class DecodeRawOp : public OpKernel {
}
TensorShape out_shape = input.shape();
if (str_size == -1 || str_size == 0) { // Empty input
- out_shape.AddDim(1);
+ out_shape.AddDim(0);
Tensor* output_tensor = nullptr;
OP_REQUIRES_OK(context, context->allocate_output("output", out_shape,
&output_tensor));
diff --git a/tensorflow/python/kernel_tests/decode_raw_op_test.py b/tensorflow/python/kernel_tests/decode_raw_op_test.py
index 009f3ea4b3..0c7025f54e 100644
--- a/tensorflow/python/kernel_tests/decode_raw_op_test.py
+++ b/tensorflow/python/kernel_tests/decode_raw_op_test.py
@@ -90,8 +90,9 @@ class DecodeRawOpTest(test.TestCase):
in_bytes = array_ops.placeholder(dtypes.string, shape=[None])
decode = parsing_ops.decode_raw(in_bytes, out_type=dtypes.float16)
- result = decode.eval(feed_dict={in_bytes: [""]})
- self.assertEqual(len(result), 1)
+ for num_inputs in range(3):
+ result = decode.eval(feed_dict={in_bytes: [""] * num_inputs})
+ self.assertEqual((num_inputs, 0), result.shape)
def testToUInt16(self):
with self.test_session():