diff options
author | A. Unique TensorFlower <gardener@tensorflow.org> | 2016-09-08 19:27:10 -0800 |
---|---|---|
committer | TensorFlower Gardener <gardener@tensorflow.org> | 2016-09-08 20:33:10 -0700 |
commit | 8016cf4ab1e2ff3c3c5448e539b9ec89d5a0bcd4 (patch) | |
tree | 09b6914e76acc4ebf5d6ec046351d33cb489bfd9 /tensorflow/core/ops/image_ops_test.cc | |
parent | 4809767db21dc877e807149ac571d6c75d8590ad (diff) |
Switch remaining ops in image_ops.py to use C++ shape functions.
Implement C++ shape fns for DecodeGif and RandomCrop.
Change: 132633600
Diffstat (limited to 'tensorflow/core/ops/image_ops_test.cc')
-rw-r--r-- | tensorflow/core/ops/image_ops_test.cc | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tensorflow/core/ops/image_ops_test.cc b/tensorflow/core/ops/image_ops_test.cc index d9f1400a2c..ab2b1574a3 100644 --- a/tensorflow/core/ops/image_ops_test.cc +++ b/tensorflow/core/ops/image_ops_test.cc @@ -51,6 +51,17 @@ TEST(ImageOpsTest, Resize_ShapeFn) { } } +TEST(ImageOpsTest, DecodeGif) { + ShapeInferenceTestOp op("DecodeGif"); + + // Rank check. + INFER_ERROR("Shape must be rank 0 but is rank 1", op, "[1]"); + + // Output is always ?,?,?,3. + INFER_OK(op, "?", "[?,?,?,3]"); + INFER_OK(op, "[]", "[?,?,?,3]"); +} + TEST(ImageOpsTest, DecodeImage_ShapeFn) { for (const char* op_name : {"DecodeJpeg", "DecodePng"}) { ShapeInferenceTestOp op(op_name); @@ -197,4 +208,22 @@ TEST(ImageOpsTest, CropAndResizeGradImage_ShapeFn) { INFER_OK(op, "?;?;?;[1]", "[10, 20, 30, 40]"); } +TEST(ImageOpsTest, RandomCrop_ShapeFn) { + ShapeInferenceTestOp op("RandomCrop"); + op.input_tensors.resize(2); + + // Rank checks. + INFER_ERROR("must be rank 3", op, "[1,2];?"); + INFER_ERROR("must be equal", op, "?;[3]"); + INFER_ERROR("must be equal", op, "?;[1,2]"); + + // Unknown size tensor values. + INFER_OK(op, "[?,?,?];[2]", "[?,?,d0_2]"); + + // Known size should result in full shape information. + Tensor size = test::AsTensor<int64>({10, 20}); + op.input_tensors[1] = &size; + INFER_OK(op, "[?,?,?];[2]", "[10,20,d0_2]"); +} + } // end namespace tensorflow |