aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/core/ops/image_ops_test.cc
diff options
context:
space:
mode:
authorGravatar A. Unique TensorFlower <gardener@tensorflow.org>2016-09-08 19:27:10 -0800
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2016-09-08 20:33:10 -0700
commit8016cf4ab1e2ff3c3c5448e539b9ec89d5a0bcd4 (patch)
tree09b6914e76acc4ebf5d6ec046351d33cb489bfd9 /tensorflow/core/ops/image_ops_test.cc
parent4809767db21dc877e807149ac571d6c75d8590ad (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.cc29
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