From 3f2192fb1a27a38f987c63deaa688ca991779a3e Mon Sep 17 00:00:00 2001 From: "A. Unique TensorFlower" <gardener@tensorflow.org> Date: Fri, 14 Jun 2019 11:52:09 -0700 Subject: [PATCH] TFLite GPU Delegate: Add error message printing when test is failed. PiperOrigin-RevId: 253269168 --- .../lite/delegates/gpu/gl/kernels/BUILD | 2 ++ .../lite/delegates/gpu/gl/kernels/add_test.cc | 8 +++--- .../delegates/gpu/gl/kernels/concat_test.cc | 8 +++--- .../delegates/gpu/gl/kernels/conv_test.cc | 10 +++---- .../gpu/gl/kernels/depthwise_conv_test.cc | 6 ++--- .../gpu/gl/kernels/elementwise_test.cc | 26 +++++++++---------- .../gpu/gl/kernels/fully_connected_test.cc | 2 +- .../delegates/gpu/gl/kernels/lstm_test.cc | 2 +- .../gpu/gl/kernels/max_unpooling_test.cc | 2 +- .../lite/delegates/gpu/gl/kernels/mul_test.cc | 8 +++--- .../lite/delegates/gpu/gl/kernels/pad_test.cc | 2 +- .../delegates/gpu/gl/kernels/pooling_test.cc | 6 ++--- .../delegates/gpu/gl/kernels/prelu_test.cc | 8 +++--- .../delegates/gpu/gl/kernels/relu_test.cc | 8 +++--- .../delegates/gpu/gl/kernels/reshape_test.cc | 10 ++++--- .../delegates/gpu/gl/kernels/slice_test.cc | 12 ++++----- .../delegates/gpu/gl/kernels/softmax_test.cc | 10 ++++--- .../delegates/gpu/gl/kernels/test_util.cc | 10 ++++--- .../lite/delegates/gpu/gl/kernels/test_util.h | 18 +++++++------ .../gpu/gl/kernels/transpose_conv_test.cc | 10 +++---- .../gl/kernels/upsampling_bilinear_test.cc | 6 ++--- 21 files changed, 94 insertions(+), 80 deletions(-) diff --git a/tensorflow/lite/delegates/gpu/gl/kernels/BUILD b/tensorflow/lite/delegates/gpu/gl/kernels/BUILD index cded455d16a..e07c3126284 100644 --- a/tensorflow/lite/delegates/gpu/gl/kernels/BUILD +++ b/tensorflow/lite/delegates/gpu/gl/kernels/BUILD @@ -571,6 +571,8 @@ cc_library( "//tensorflow/lite/delegates/gpu/gl:object_manager", "//tensorflow/lite/delegates/gpu/gl:runtime_options", "//tensorflow/lite/delegates/gpu/gl/workgroups:default_calculator", + "@com_google_googletest//:gtest", + "@com_google_googletest//:gtest_main", ], ) diff --git a/tensorflow/lite/delegates/gpu/gl/kernels/add_test.cc b/tensorflow/lite/delegates/gpu/gl/kernels/add_test.cc index 8b1c7022521..69a6be69317 100644 --- a/tensorflow/lite/delegates/gpu/gl/kernels/add_test.cc +++ b/tensorflow/lite/delegates/gpu/gl/kernels/add_test.cc @@ -49,7 +49,7 @@ TEST(AddTest, TwoInputTensorsOfTheSameShape) { {augend, addend}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {-2.0, 0.2, 0.7, 0.8})); ASSERT_TRUE(model.PopulateTensor(1, {0.1, 0.2, 0.3, 0.5})); - ASSERT_TRUE(model.Invoke(*NewAddNodeShader())); + ASSERT_OK(model.Invoke(*NewAddNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {-1.9, 0.4, 1.0, 1.3})); } @@ -69,7 +69,7 @@ TEST(AddTest, InputTensorAndScalar) { SingleOpModel model({ToString(OperationType::ADD), std::move(attr)}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {-2.0, 0.2, 0.7, 0.8, 1.1, 2.0})); - ASSERT_TRUE(model.Invoke(*NewAddNodeShader())); + ASSERT_OK(model.Invoke(*NewAddNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {-1.9, 0.3, 0.8, 0.9, 1.2, 2.1})); } @@ -97,7 +97,7 @@ TEST(AddTest, InputTensorWithConstandBroadcast) { {output}); ASSERT_TRUE( model.PopulateTensor(0, {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0})); - ASSERT_TRUE(model.Invoke(*NewAddNodeShader())); + ASSERT_OK(model.Invoke(*NewAddNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {11.0, 22.0, 13.0, 24.0, 15.0, 26.0, 17.0, 28.0})); @@ -126,7 +126,7 @@ TEST(AddTest, InputTensorWithRuntimeBroadcast) { ASSERT_TRUE( model.PopulateTensor(0, {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0})); ASSERT_TRUE(model.PopulateTensor(1, {10.0, 20.0})); - ASSERT_TRUE(model.Invoke(*NewAddNodeShader())); + ASSERT_OK(model.Invoke(*NewAddNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {11.0, 22.0, 13.0, 24.0, 15.0, 26.0, 17.0, 28.0})); diff --git a/tensorflow/lite/delegates/gpu/gl/kernels/concat_test.cc b/tensorflow/lite/delegates/gpu/gl/kernels/concat_test.cc index 7db494f42eb..f44e99abc6c 100644 --- a/tensorflow/lite/delegates/gpu/gl/kernels/concat_test.cc +++ b/tensorflow/lite/delegates/gpu/gl/kernels/concat_test.cc @@ -51,7 +51,7 @@ TEST(ConcatTest, TwoInputTensorsByUnalignedChannel) { {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 3, 5, 7})); ASSERT_TRUE(model.PopulateTensor(1, {2, 4, 6, 8})); - ASSERT_TRUE(model.Invoke(*NewConcatNodeShader())); + ASSERT_OK(model.Invoke(*NewConcatNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {1, 2, 3, 4, 5, 6, 7, 8})); } @@ -77,7 +77,7 @@ TEST(ConcatTest, TwoInputTensorsByAlignedChannel) { {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 2, 3, 4})); ASSERT_TRUE(model.PopulateTensor(1, {5, 6, 7, 8})); - ASSERT_TRUE(model.Invoke(*NewAlignedConcatNodeShader())); + ASSERT_OK(model.Invoke(*NewAlignedConcatNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {1, 2, 3, 4, 5, 6, 7, 8})); } @@ -103,7 +103,7 @@ TEST(ConcatTest, TwoInputTensorsByHeight) { {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 2})); ASSERT_TRUE(model.PopulateTensor(1, {3, 4, 5, 6})); - ASSERT_TRUE(model.Invoke(*NewFlatConcatNodeShader())); + ASSERT_OK(model.Invoke(*NewFlatConcatNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {1, 2, 3, 4, 5, 6})); } @@ -129,7 +129,7 @@ TEST(ConcatTest, TwoInputTensorsByWidth) { {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 4})); ASSERT_TRUE(model.PopulateTensor(1, {2, 3, 5, 6})); - ASSERT_TRUE(model.Invoke(*NewFlatConcatNodeShader())); + ASSERT_OK(model.Invoke(*NewFlatConcatNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {1, 2, 3, 4, 5, 6})); } diff --git a/tensorflow/lite/delegates/gpu/gl/kernels/conv_test.cc b/tensorflow/lite/delegates/gpu/gl/kernels/conv_test.cc index 61c487282fc..6ce65942042 100644 --- a/tensorflow/lite/delegates/gpu/gl/kernels/conv_test.cc +++ b/tensorflow/lite/delegates/gpu/gl/kernels/conv_test.cc @@ -63,7 +63,7 @@ TEST(ConvTest, O2H2W1I1Stride1x1Dilation1x1) { {ToString(OperationType::CONVOLUTION_2D), std::move(attr)}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 1, 1, 1})); - ASSERT_TRUE(model.Invoke(*NewConvolutionNodeShader())); + ASSERT_OK(model.Invoke(*NewConvolutionNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {4, 8, 4, 8, 2, 4, 2, 4})); } @@ -101,7 +101,7 @@ TEST(ConvTest, O1H2W2I1Stride1x1Dilation2x2) { {ToString(OperationType::CONVOLUTION_2D), std::move(attr)}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 1, 1, 1, 1, 1, 1, 1, 1})); - ASSERT_TRUE(model.Invoke(*NewConvolutionNodeShader())); + ASSERT_OK(model.Invoke(*NewConvolutionNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {10})); } @@ -138,7 +138,7 @@ TEST(ConvTest, O1H3W3I1Stride1x1Dilation1x1) { {ToString(OperationType::CONVOLUTION_2D), std::move(attr)}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 1, 1, 1})); - ASSERT_TRUE(model.Invoke(*NewConvolutionNodeShader())); + ASSERT_OK(model.Invoke(*NewConvolutionNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {11})); } @@ -175,7 +175,7 @@ TEST(ConvTest, O2H1W1I2Stride1x1Dilation1x1) { {ToString(OperationType::CONVOLUTION_2D), std::move(attr)}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 1, 1, 1})); - ASSERT_TRUE(model.Invoke(*NewConvolution1x1NodeShader())); + ASSERT_OK(model.Invoke(*NewConvolution1x1NodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {4, 8, 4, 8})); } @@ -213,7 +213,7 @@ TEST(ConvTest, O1H1W1I1Stride2x2Dilation1x1) { {ToString(OperationType::CONVOLUTION_2D), std::move(attr)}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 0, 2, 0, 0, 0, 4, 0, 8})); - ASSERT_TRUE(model.Invoke(*NewConvolutionNodeShader())); + ASSERT_OK(model.Invoke(*NewConvolutionNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {2, 4, 8, 16})); } diff --git a/tensorflow/lite/delegates/gpu/gl/kernels/depthwise_conv_test.cc b/tensorflow/lite/delegates/gpu/gl/kernels/depthwise_conv_test.cc index bf3999d1cb2..62d8346f9b4 100644 --- a/tensorflow/lite/delegates/gpu/gl/kernels/depthwise_conv_test.cc +++ b/tensorflow/lite/delegates/gpu/gl/kernels/depthwise_conv_test.cc @@ -64,7 +64,7 @@ TEST(DepthwiseConvTest, O4H1W1I2Strides1x1Dilation1x1) { {ToString(OperationType::CONVOLUTION_2D), std::move(attr)}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 3})); - ASSERT_TRUE(model.Invoke(*NewDepthwiseConvolutionNodeShader())); + ASSERT_OK(model.Invoke(*NewDepthwiseConvolutionNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {2, 4, 12, 16})); } @@ -102,7 +102,7 @@ TEST(DepthwiseConvTest, O2H1W1I1Strides2x2Dilation1x1) { {ToString(OperationType::CONVOLUTION_2D), std::move(attr)}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 0, 1, 1, 0, 1, 1, 0, 1})); - ASSERT_TRUE(model.Invoke(*NewDepthwiseConvolutionNodeShader())); + ASSERT_OK(model.Invoke(*NewDepthwiseConvolutionNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {1, 3, 1, 3, 1, 3, 1, 3})); } @@ -141,7 +141,7 @@ TEST(DepthwiseConvTest, O2H2W2I1Strides1x1Dilation2x2) { {ToString(OperationType::CONVOLUTION_2D), std::move(attr)}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 0, 1, 1, 0, 1, 1, 0, 1})); - ASSERT_TRUE(model.Invoke(*NewDepthwiseConvolutionNodeShader())); + ASSERT_OK(model.Invoke(*NewDepthwiseConvolutionNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {10, 26})); } diff --git a/tensorflow/lite/delegates/gpu/gl/kernels/elementwise_test.cc b/tensorflow/lite/delegates/gpu/gl/kernels/elementwise_test.cc index e1835bcb761..f616d6fbb66 100644 --- a/tensorflow/lite/delegates/gpu/gl/kernels/elementwise_test.cc +++ b/tensorflow/lite/delegates/gpu/gl/kernels/elementwise_test.cc @@ -47,7 +47,7 @@ TEST_F(ElementwiseOneArgumentTest, Abs) { SingleOpModel model({ToString(op_type), {}}, {GetTensorRef(0)}, {GetTensorRef(1)}); ASSERT_TRUE(model.PopulateTensor(0, {0.0, -6.2, 2.0, 4.0})); - ASSERT_TRUE(model.Invoke(*NewElementwiseNodeShader(op_type))); + ASSERT_OK(model.Invoke(*NewElementwiseNodeShader(op_type))); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {0.0, 6.2, 2.0, 4.0})); } @@ -57,7 +57,7 @@ TEST_F(ElementwiseOneArgumentTest, Sin) { SingleOpModel model({ToString(op_type), {}}, {GetTensorRef(0)}, {GetTensorRef(1)}); ASSERT_TRUE(model.PopulateTensor(0, {0.0, 3.1415926, -3.1415926, 1.0})); - ASSERT_TRUE(model.Invoke(*NewElementwiseNodeShader(op_type))); + ASSERT_OK(model.Invoke(*NewElementwiseNodeShader(op_type))); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {0.0, 0.0, 0.0, 0.841471})); } @@ -67,7 +67,7 @@ TEST_F(ElementwiseOneArgumentTest, Cos) { SingleOpModel model({ToString(op_type), {}}, {GetTensorRef(0)}, {GetTensorRef(1)}); ASSERT_TRUE(model.PopulateTensor(0, {0.0, 3.1415926, -3.1415926, 1})); - ASSERT_TRUE(model.Invoke(*NewElementwiseNodeShader(op_type))); + ASSERT_OK(model.Invoke(*NewElementwiseNodeShader(op_type))); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {1.0, -1.0, -1.0, 0.540302})); } @@ -77,7 +77,7 @@ TEST_F(ElementwiseOneArgumentTest, Log) { SingleOpModel model({ToString(op_type), {}}, {GetTensorRef(0)}, {GetTensorRef(1)}); ASSERT_TRUE(model.PopulateTensor(0, {1.0, 3.1415926, 1.0, 1.0})); - ASSERT_TRUE(model.Invoke(*NewElementwiseNodeShader(op_type))); + ASSERT_OK(model.Invoke(*NewElementwiseNodeShader(op_type))); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {0.0, 1.14473, 0.0, 0.0})); } @@ -87,7 +87,7 @@ TEST_F(ElementwiseOneArgumentTest, Sqrt) { SingleOpModel model({ToString(op_type), {}}, {GetTensorRef(0)}, {GetTensorRef(1)}); ASSERT_TRUE(model.PopulateTensor(0, {0.0, 1.0, 2.0, 4.0})); - ASSERT_TRUE(model.Invoke(*NewElementwiseNodeShader(op_type))); + ASSERT_OK(model.Invoke(*NewElementwiseNodeShader(op_type))); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {0.0, 1.0, 1.414213, 2.0})); } @@ -97,7 +97,7 @@ TEST_F(ElementwiseOneArgumentTest, Rsqrt) { SingleOpModel model({ToString(op_type), {}}, {GetTensorRef(0)}, {GetTensorRef(1)}); ASSERT_TRUE(model.PopulateTensor(0, {1.0, 2.0, 4.0, 9.0})); - ASSERT_TRUE(model.Invoke(*NewElementwiseNodeShader(op_type))); + ASSERT_OK(model.Invoke(*NewElementwiseNodeShader(op_type))); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {1.0, 0.707106, 0.5, 0.333333})); } @@ -107,7 +107,7 @@ TEST_F(ElementwiseOneArgumentTest, Square) { SingleOpModel model({ToString(op_type), {}}, {GetTensorRef(0)}, {GetTensorRef(1)}); ASSERT_TRUE(model.PopulateTensor(0, {1.0, 2.0, 0.5, -3.0})); - ASSERT_TRUE(model.Invoke(*NewElementwiseNodeShader(op_type))); + ASSERT_OK(model.Invoke(*NewElementwiseNodeShader(op_type))); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {1.0, 4.0, 0.25, 9.0})); } @@ -117,7 +117,7 @@ TEST_F(ElementwiseOneArgumentTest, Sigmoid) { SingleOpModel model({ToString(op_type), {}}, {GetTensorRef(0)}, {GetTensorRef(1)}); ASSERT_TRUE(model.PopulateTensor(0, {0.0, -6.0, 2.0, 4.0})); - ASSERT_TRUE(model.Invoke(*NewElementwiseNodeShader(op_type))); + ASSERT_OK(model.Invoke(*NewElementwiseNodeShader(op_type))); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {0.5, 0.002473, 0.880797, 0.982014})); } @@ -127,7 +127,7 @@ TEST_F(ElementwiseOneArgumentTest, Tanh) { SingleOpModel model({ToString(op_type), {}}, {GetTensorRef(0)}, {GetTensorRef(1)}); ASSERT_TRUE(model.PopulateTensor(0, {0.0, -6.0, 2.0, 4.0})); - ASSERT_TRUE(model.Invoke(*NewElementwiseNodeShader(op_type))); + ASSERT_OK(model.Invoke(*NewElementwiseNodeShader(op_type))); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {0.0, -0.999987, 0.964027, 0.999329})); } @@ -152,7 +152,7 @@ TEST_F(ElementwiseTwoArgumentsTest, Sub) { {GetTensorRef(0), GetTensorRef(1)}, {GetTensorRef(2)}); ASSERT_TRUE(model.PopulateTensor(0, {0.0, -6.2, 2.0, 4.0})); ASSERT_TRUE(model.PopulateTensor(1, {1.0, 2.0, 3.0, 4.0})); - ASSERT_TRUE(model.Invoke(*NewElementwiseNodeShader(op_type))); + ASSERT_OK(model.Invoke(*NewElementwiseNodeShader(op_type))); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {-1.0, -8.2, -1.0, 0.0})); } @@ -163,7 +163,7 @@ TEST_F(ElementwiseTwoArgumentsTest, Div) { {GetTensorRef(0), GetTensorRef(1)}, {GetTensorRef(2)}); ASSERT_TRUE(model.PopulateTensor(0, {0.0, -6.2, 2.0, 4.0})); ASSERT_TRUE(model.PopulateTensor(1, {1.0, 2.0, -0.5, 4.0})); - ASSERT_TRUE(model.Invoke(*NewElementwiseNodeShader(op_type))); + ASSERT_OK(model.Invoke(*NewElementwiseNodeShader(op_type))); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {0.0, -3.1, -4.0, 1.0})); } @@ -174,7 +174,7 @@ TEST_F(ElementwiseTwoArgumentsTest, Pow) { {GetTensorRef(0), GetTensorRef(1)}, {GetTensorRef(2)}); ASSERT_TRUE(model.PopulateTensor(0, {0.0, 1.0, 2.0, 4.0})); ASSERT_TRUE(model.PopulateTensor(1, {1.0, 2.0, 3.0, 4.0})); - ASSERT_TRUE(model.Invoke(*NewElementwiseNodeShader(op_type))); + ASSERT_OK(model.Invoke(*NewElementwiseNodeShader(op_type))); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {0.0, 1.0, 8.0, 256.0})); } @@ -185,7 +185,7 @@ TEST_F(ElementwiseTwoArgumentsTest, SquaredDiff) { {GetTensorRef(0), GetTensorRef(1)}, {GetTensorRef(2)}); ASSERT_TRUE(model.PopulateTensor(0, {0.0, 2.0, 2.0, 4.0})); ASSERT_TRUE(model.PopulateTensor(1, {1.0, 1.0, 5.0, 4.0})); - ASSERT_TRUE(model.Invoke(*NewElementwiseNodeShader(op_type))); + ASSERT_OK(model.Invoke(*NewElementwiseNodeShader(op_type))); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {1.0, 1.0, 9.0, 0.0})); } diff --git a/tensorflow/lite/delegates/gpu/gl/kernels/fully_connected_test.cc b/tensorflow/lite/delegates/gpu/gl/kernels/fully_connected_test.cc index 5ee19b84f8b..d4ac5d4c91c 100644 --- a/tensorflow/lite/delegates/gpu/gl/kernels/fully_connected_test.cc +++ b/tensorflow/lite/delegates/gpu/gl/kernels/fully_connected_test.cc @@ -58,7 +58,7 @@ TEST(FullyConnectedTest, MatrixByVectorMultiplication) { SingleOpModel model({ToString(OperationType::FULLY_CONNECTED), attr}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 2})); - ASSERT_TRUE(model.Invoke(*NewFullyConnectedNodeShader())); + ASSERT_OK(model.Invoke(*NewFullyConnectedNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {6, 13, 20, 27})); } diff --git a/tensorflow/lite/delegates/gpu/gl/kernels/lstm_test.cc b/tensorflow/lite/delegates/gpu/gl/kernels/lstm_test.cc index 42f8dbd8b58..1a61f07a771 100644 --- a/tensorflow/lite/delegates/gpu/gl/kernels/lstm_test.cc +++ b/tensorflow/lite/delegates/gpu/gl/kernels/lstm_test.cc @@ -58,7 +58,7 @@ TEST(LstmTest, Input2x2x1) { {input, prev_state}, {output_state, output_activation}); ASSERT_TRUE(model.PopulateTensor(0, {1, 2, 3, 4})); ASSERT_TRUE(model.PopulateTensor(1, {5, 6, 7, 8})); - ASSERT_TRUE(model.Invoke(*NewLstmNodeShader())); + ASSERT_OK(model.Invoke(*NewLstmNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {2.5, 3.0, 3.5, 4.0})); EXPECT_THAT( diff --git a/tensorflow/lite/delegates/gpu/gl/kernels/max_unpooling_test.cc b/tensorflow/lite/delegates/gpu/gl/kernels/max_unpooling_test.cc index 9cc4c99aa90..baf153ef0ff 100644 --- a/tensorflow/lite/delegates/gpu/gl/kernels/max_unpooling_test.cc +++ b/tensorflow/lite/delegates/gpu/gl/kernels/max_unpooling_test.cc @@ -56,7 +56,7 @@ TEST(MaxUnpoolingTest, Kernel2x2Stride2x2) { {input, indices}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 2, 3, 4})); ASSERT_TRUE(model.PopulateTensor(1, {0, 0, 0, 0})); - ASSERT_TRUE(model.Invoke(*NewMaxUnpoolingNodeShader())); + ASSERT_OK(model.Invoke(*NewMaxUnpoolingNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {1, 0, 2, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0})); diff --git a/tensorflow/lite/delegates/gpu/gl/kernels/mul_test.cc b/tensorflow/lite/delegates/gpu/gl/kernels/mul_test.cc index 93eb5379b86..a8f77ea91ba 100644 --- a/tensorflow/lite/delegates/gpu/gl/kernels/mul_test.cc +++ b/tensorflow/lite/delegates/gpu/gl/kernels/mul_test.cc @@ -46,7 +46,7 @@ TEST(MulTest, Scalar) { SingleOpModel model({ToString(OperationType::MUL), attr}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 2, 3, 4})); - ASSERT_TRUE(model.Invoke(*NewMultiplyScalarNodeShader())); + ASSERT_OK(model.Invoke(*NewMultiplyScalarNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {2, 4, 6, 8})); } @@ -70,7 +70,7 @@ TEST(MulTest, Linear) { SingleOpModel model({ToString(OperationType::MUL), attr}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 2, 3, 4})); - ASSERT_TRUE(model.Invoke(*NewMultiplyScalarNodeShader())); + ASSERT_OK(model.Invoke(*NewMultiplyScalarNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {2, 6, 6, 12})); } @@ -94,7 +94,7 @@ TEST(ApplyMaskTest, MaskChannel1) { {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 2, 3, 4})); ASSERT_TRUE(model.PopulateTensor(1, {2, 3})); - ASSERT_TRUE(model.Invoke(*NewApplyMaskNodeShader())); + ASSERT_OK(model.Invoke(*NewApplyMaskNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {2, 4, 9, 12})); } @@ -118,7 +118,7 @@ TEST(ApplyMaskTest, MaskChannelEqualsToInputChannel) { {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 2, 3, 4})); ASSERT_TRUE(model.PopulateTensor(1, {1, 2, 3, 4})); - ASSERT_TRUE(model.Invoke(*NewApplyMaskNodeShader())); + ASSERT_OK(model.Invoke(*NewApplyMaskNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {1, 4, 9, 16})); } diff --git a/tensorflow/lite/delegates/gpu/gl/kernels/pad_test.cc b/tensorflow/lite/delegates/gpu/gl/kernels/pad_test.cc index 88f375e8b86..22395e02a7c 100644 --- a/tensorflow/lite/delegates/gpu/gl/kernels/pad_test.cc +++ b/tensorflow/lite/delegates/gpu/gl/kernels/pad_test.cc @@ -51,7 +51,7 @@ void TestPadOperation(const HWC& prepend, const HWC& append, SingleOpModel model({ToString(OperationType::PAD), attr}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1.0})); - ASSERT_TRUE(model.Invoke(*NewPadNodeShader())); + ASSERT_OK(model.Invoke(*NewPadNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), expected)); } diff --git a/tensorflow/lite/delegates/gpu/gl/kernels/pooling_test.cc b/tensorflow/lite/delegates/gpu/gl/kernels/pooling_test.cc index 3b37452e2a2..dd8a46443a1 100644 --- a/tensorflow/lite/delegates/gpu/gl/kernels/pooling_test.cc +++ b/tensorflow/lite/delegates/gpu/gl/kernels/pooling_test.cc @@ -62,7 +62,7 @@ TEST(PoolingTest, MaxKernel2x2Stride2x2WithIndices) { {input}, {output, indices}); ASSERT_TRUE(model.PopulateTensor( 0, {1, 2, 1, 2, 3, 4, 3, 4, 7, 8, 7, 8, 5, 6, 5, 6})); - ASSERT_TRUE(model.Invoke(*NewPoolingNodeShader())); + ASSERT_OK(model.Invoke(*NewPoolingNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {4, 4, 8, 8})); // Indices tensor is a vector<float>, but these float values should be treated // as integers, that's why special matcher IntNear() is used. @@ -91,7 +91,7 @@ TEST(PoolingTest, MaxKernel2x2Stride2x2WithoutIndices) { {input}, {output}); ASSERT_TRUE(model.PopulateTensor( 0, {1, 2, 1, 2, 3, 4, 3, 4, 7, 8, 7, 8, 5, 6, 5, 6})); - ASSERT_TRUE(model.Invoke(*NewPoolingNodeShader())); + ASSERT_OK(model.Invoke(*NewPoolingNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {4, 4, 8, 8})); } @@ -117,7 +117,7 @@ TEST(PoolingTest, AverageKernel2x2Stride2x2) { {output}); ASSERT_TRUE(model.PopulateTensor( 0, {1, 1, 2, 2, 1, 1, 2, 2, 3, 3, 4, 4, 3, 3, 4, 4})); - ASSERT_TRUE(model.Invoke(*NewPoolingNodeShader())); + ASSERT_OK(model.Invoke(*NewPoolingNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {1, 2, 3, 4})); } diff --git a/tensorflow/lite/delegates/gpu/gl/kernels/prelu_test.cc b/tensorflow/lite/delegates/gpu/gl/kernels/prelu_test.cc index 82f67e83080..e87bbbad52c 100644 --- a/tensorflow/lite/delegates/gpu/gl/kernels/prelu_test.cc +++ b/tensorflow/lite/delegates/gpu/gl/kernels/prelu_test.cc @@ -50,7 +50,7 @@ TEST(PReluTest, LinearAlphaNoClip) { SingleOpModel model({ToString(OperationType::PRELU), attr}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {-1.0, -2.0, 1.0, 2.0})); - ASSERT_TRUE(model.Invoke(*NewPReLUNodeShader())); + ASSERT_OK(model.Invoke(*NewPReLUNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {-2, -4, 1, 2})); } @@ -76,7 +76,7 @@ TEST(PReluTest, LinearAlphaWithClip) { SingleOpModel model({ToString(OperationType::PRELU), attr}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {-1.0, -2.0, 1.0, 2.0})); - ASSERT_TRUE(model.Invoke(*NewPReLUNodeShader())); + ASSERT_OK(model.Invoke(*NewPReLUNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {-2, -4, 1, 1})); } @@ -102,7 +102,7 @@ TEST(PReluTest, 3DAlphaNoClip) { SingleOpModel model({ToString(op_type), attr}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {0.0, -1.0, 2.0, -3.0})); - ASSERT_TRUE(model.Invoke(*NewPReLUNodeShader())); + ASSERT_OK(model.Invoke(*NewPReLUNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {0, -2, 2, -6})); } @@ -128,7 +128,7 @@ TEST(PReluTest, 3DAlphaWithClip) { SingleOpModel model({ToString(op_type), attr}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {0.0, -1.0, 2.0, -3.0})); - ASSERT_TRUE(model.Invoke(*NewPReLUNodeShader())); + ASSERT_OK(model.Invoke(*NewPReLUNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {0, -2, 1, -6})); } diff --git a/tensorflow/lite/delegates/gpu/gl/kernels/relu_test.cc b/tensorflow/lite/delegates/gpu/gl/kernels/relu_test.cc index 8807b228486..9a395d08971 100644 --- a/tensorflow/lite/delegates/gpu/gl/kernels/relu_test.cc +++ b/tensorflow/lite/delegates/gpu/gl/kernels/relu_test.cc @@ -50,7 +50,7 @@ TEST_F(ReluTest, Smoke) { SingleOpModel model({ToString(op_type), attr}, {GetTensorRef(0)}, {GetTensorRef(1)}); ASSERT_TRUE(model.PopulateTensor(0, {-6.0, 0.0, 2.0, 8.0})); - ASSERT_TRUE(model.Invoke(*NewReLUNodeShader())); + ASSERT_OK(model.Invoke(*NewReLUNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {0.0, 0.0, 2.0, 8.0})); } @@ -63,7 +63,7 @@ TEST_F(ReluTest, ClipOnly) { SingleOpModel model({ToString(op_type), attr}, {GetTensorRef(0)}, {GetTensorRef(1)}); ASSERT_TRUE(model.PopulateTensor(0, {-6.0, 0.0, 2.0, 8.0})); - ASSERT_TRUE(model.Invoke(*NewReLUNodeShader())); + ASSERT_OK(model.Invoke(*NewReLUNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {0.0, 0.0, 2.0, 6.0})); } @@ -76,7 +76,7 @@ TEST_F(ReluTest, AlphaOnly) { SingleOpModel model({ToString(op_type), attr}, {GetTensorRef(0)}, {GetTensorRef(1)}); ASSERT_TRUE(model.PopulateTensor(0, {-6.0, 0.0, 2.0, 8.0})); - ASSERT_TRUE(model.Invoke(*NewReLUNodeShader())); + ASSERT_OK(model.Invoke(*NewReLUNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {-3.0, 0.0, 2.0, 8.0})); } @@ -89,7 +89,7 @@ TEST_F(ReluTest, ClipAndAlpha) { SingleOpModel model({ToString(op_type), attr}, {GetTensorRef(0)}, {GetTensorRef(1)}); ASSERT_TRUE(model.PopulateTensor(0, {-6.0, 0.0, 2.0, 8.0})); - ASSERT_TRUE(model.Invoke(*NewReLUNodeShader())); + ASSERT_OK(model.Invoke(*NewReLUNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {-3.0, 0.0, 2.0, 6.0})); } diff --git a/tensorflow/lite/delegates/gpu/gl/kernels/reshape_test.cc b/tensorflow/lite/delegates/gpu/gl/kernels/reshape_test.cc index 93cbc37dd7f..1a57a6626f0 100644 --- a/tensorflow/lite/delegates/gpu/gl/kernels/reshape_test.cc +++ b/tensorflow/lite/delegates/gpu/gl/kernels/reshape_test.cc @@ -47,7 +47,7 @@ TEST(Reshape, 1x2x3To3x2x1) { SingleOpModel model({ToString(OperationType::RESHAPE), attr}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 2, 3, 4, 5, 6})); - ASSERT_TRUE(model.Invoke(*NewReshapeNodeShader())); + ASSERT_OK(model.Invoke(*NewReshapeNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {1, 2, 3, 4, 5, 6})); } @@ -69,7 +69,7 @@ TEST(Reshape, 3x1x2To2x1x3) { SingleOpModel model({ToString(OperationType::RESHAPE), attr}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 2, 3, 4, 5, 6})); - ASSERT_TRUE(model.Invoke(*NewReshapeNodeShader())); + ASSERT_OK(model.Invoke(*NewReshapeNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {1, 2, 3, 4, 5, 6})); } @@ -91,7 +91,7 @@ TEST(Reshape, 1x1x4To2x2x1) { SingleOpModel model({ToString(OperationType::RESHAPE), attr}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 2, 3, 4})); - ASSERT_TRUE(model.Invoke(*NewReshapeNodeShader())); + ASSERT_OK(model.Invoke(*NewReshapeNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {1, 2, 3, 4})); } @@ -112,7 +112,9 @@ TEST(Reshape, BatchIsUnsupported) { SingleOpModel model({ToString(OperationType::RESHAPE), attr}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 2, 3, 4})); - EXPECT_FALSE(model.Invoke(*NewReshapeNodeShader())); + ASSERT_THAT( + model.Invoke(*NewReshapeNodeShader()).message(), + testing::HasSubstr("Only identical batch dimension is supported")); } } // namespace diff --git a/tensorflow/lite/delegates/gpu/gl/kernels/slice_test.cc b/tensorflow/lite/delegates/gpu/gl/kernels/slice_test.cc index 19642d6df0a..327e1d233cb 100644 --- a/tensorflow/lite/delegates/gpu/gl/kernels/slice_test.cc +++ b/tensorflow/lite/delegates/gpu/gl/kernels/slice_test.cc @@ -49,7 +49,7 @@ TEST(SliceTest, Identity) { SingleOpModel model({ToString(OperationType::SLICE), attr}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 2, 3, 4})); - ASSERT_TRUE(model.Invoke(*NewSliceNodeShader())); + ASSERT_OK(model.Invoke(*NewSliceNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {1, 2, 3, 4})); } @@ -72,7 +72,7 @@ TEST(SliceTest, NegativeEnds) { SingleOpModel model({ToString(OperationType::SLICE), attr}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 2, 3, 4})); - ASSERT_TRUE(model.Invoke(*NewSliceNodeShader())); + ASSERT_OK(model.Invoke(*NewSliceNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {1, 2, 3, 4})); } @@ -95,7 +95,7 @@ TEST(SliceTest, NegativeEndsNonZeroStarts) { SingleOpModel model({ToString(OperationType::SLICE), attr}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 2, 3, 4})); - ASSERT_TRUE(model.Invoke(*NewSliceNodeShader())); + ASSERT_OK(model.Invoke(*NewSliceNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {3})); } @@ -118,7 +118,7 @@ TEST(SliceTest, StridesByHeight) { SingleOpModel model({ToString(OperationType::SLICE), attr}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 2, 3, 4})); - ASSERT_TRUE(model.Invoke(*NewSliceNodeShader())); + ASSERT_OK(model.Invoke(*NewSliceNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {1, 3})); } @@ -141,7 +141,7 @@ TEST(SliceTest, StridesByWidth) { SingleOpModel model({ToString(OperationType::SLICE), attr}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 2, 3, 4})); - ASSERT_TRUE(model.Invoke(*NewSliceNodeShader())); + ASSERT_OK(model.Invoke(*NewSliceNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {2, 4})); } @@ -164,7 +164,7 @@ TEST(SliceTest, StridesByChannels) { SingleOpModel model({ToString(OperationType::SLICE), attr}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 2, 3, 4})); - ASSERT_TRUE(model.Invoke(*NewSliceNodeShader())); + ASSERT_OK(model.Invoke(*NewSliceNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {3})); } diff --git a/tensorflow/lite/delegates/gpu/gl/kernels/softmax_test.cc b/tensorflow/lite/delegates/gpu/gl/kernels/softmax_test.cc index 50445c0fbf9..5c3210b2c85 100644 --- a/tensorflow/lite/delegates/gpu/gl/kernels/softmax_test.cc +++ b/tensorflow/lite/delegates/gpu/gl/kernels/softmax_test.cc @@ -48,7 +48,7 @@ TEST(SoftmaxTest, WorksForChannelsAxis) { SingleOpModel model({ToString(OperationType::SOFT_MAX), attr}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {0.1, 0.2, 0.1, 0.2})); - ASSERT_TRUE(model.Invoke(*NewSoftMaxNodeShader())); + ASSERT_OK(model.Invoke(*NewSoftMaxNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {1, 1, 1, 1})); } @@ -69,7 +69,9 @@ TEST(SoftmaxTest, DoesNotWorkForHeightAxis) { SingleOpModel model({ToString(OperationType::SOFT_MAX), attr}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 2, 3, 4})); - EXPECT_FALSE(model.Invoke(*NewSoftMaxNodeShader())); + ASSERT_THAT( + model.Invoke(*NewSoftMaxNodeShader()).message(), + testing::HasSubstr("Softmax is only supported for channels axis.")); } TEST(SoftmaxTest, DoesNotWorkForWidthAxis) { @@ -89,7 +91,9 @@ TEST(SoftmaxTest, DoesNotWorkForWidthAxis) { SingleOpModel model({ToString(OperationType::SOFT_MAX), attr}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 2, 3, 4})); - EXPECT_FALSE(model.Invoke(*NewSoftMaxNodeShader())); + ASSERT_THAT( + model.Invoke(*NewSoftMaxNodeShader()).message(), + testing::HasSubstr("Softmax is only supported for channels axis.")); } } // namespace diff --git a/tensorflow/lite/delegates/gpu/gl/kernels/test_util.cc b/tensorflow/lite/delegates/gpu/gl/kernels/test_util.cc index 71df8c544bd..e8e8116d2d1 100644 --- a/tensorflow/lite/delegates/gpu/gl/kernels/test_util.cc +++ b/tensorflow/lite/delegates/gpu/gl/kernels/test_util.cc @@ -68,9 +68,9 @@ bool SingleOpModel::PopulateTensor(int index, std::vector<float>&& data) { return true; } -Status SingleOpModel::InvokeInternal(const CompilationOptions& compile_options, - const RuntimeOptions& runtime_options, - const NodeShader& shader) { +Status SingleOpModel::Invoke(const CompilationOptions& compile_options, + const RuntimeOptions& runtime_options, + const NodeShader& shader) { std::unique_ptr<EglEnvironment> env; RETURN_IF_ERROR(EglEnvironment::NewEglEnvironment(&env)); @@ -128,6 +128,10 @@ Status SingleOpModel::InvokeInternal(const CompilationOptions& compile_options, return OkStatus(); } +Status SingleOpModel::Invoke(const NodeShader& shader) { + return Invoke(CompilationOptions(), RuntimeOptions(), shader); +} + } // namespace gl } // namespace gpu } // namespace tflite diff --git a/tensorflow/lite/delegates/gpu/gl/kernels/test_util.h b/tensorflow/lite/delegates/gpu/gl/kernels/test_util.h index b928402d263..cb452483feb 100644 --- a/tensorflow/lite/delegates/gpu/gl/kernels/test_util.h +++ b/tensorflow/lite/delegates/gpu/gl/kernels/test_util.h @@ -19,6 +19,8 @@ limitations under the License. #include <memory> #include <vector> +#include <gmock/gmock.h> +#include <gtest/gtest.h> #include "tensorflow/lite/delegates/gpu/common/model.h" #include "tensorflow/lite/delegates/gpu/common/operations.h" #include "tensorflow/lite/delegates/gpu/common/status.h" @@ -27,6 +29,10 @@ limitations under the License. #include "tensorflow/lite/delegates/gpu/gl/node_shader.h" #include "tensorflow/lite/delegates/gpu/gl/runtime_options.h" +#ifndef ASSERT_OK +#define ASSERT_OK(x) ASSERT_THAT(x.message(), testing::StrEq("")); +#endif + namespace tflite { namespace gpu { namespace gl { @@ -42,9 +48,10 @@ class SingleOpModel { bool PopulateTensor(int index, std::vector<float>&& data); - bool Invoke(const NodeShader& shader) { - return InvokeInternal(CompilationOptions(), RuntimeOptions(), shader).ok(); - } + Status Invoke(const NodeShader& shader); + Status Invoke(const CompilationOptions& compile_options, + const RuntimeOptions& runtime_options, + const NodeShader& shader); const std::vector<float>& GetOutput(int index) const { return outputs_[index].data; @@ -54,11 +61,6 @@ class SingleOpModel { GraphFloat32 graph_; std::vector<TensorFloat32> inputs_; std::vector<TensorFloat32> outputs_; - - private: - Status InvokeInternal(const CompilationOptions& compile_options, - const RuntimeOptions& runtime_options, - const NodeShader& shader); }; } // namespace gl diff --git a/tensorflow/lite/delegates/gpu/gl/kernels/transpose_conv_test.cc b/tensorflow/lite/delegates/gpu/gl/kernels/transpose_conv_test.cc index 8cd1f8b3366..d49e6a08cb2 100644 --- a/tensorflow/lite/delegates/gpu/gl/kernels/transpose_conv_test.cc +++ b/tensorflow/lite/delegates/gpu/gl/kernels/transpose_conv_test.cc @@ -63,7 +63,7 @@ TEST(TransposeConvTest, O2H2W1I1Stride1x1DAdjacent1x1) { {ToString(OperationType::CONVOLUTION_TRANSPOSED), std::move(attr)}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 1, 1, 1})); - ASSERT_TRUE(model.Invoke(*NewConvolutionTransposedNodeShader())); + ASSERT_OK(model.Invoke(*NewConvolutionTransposedNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {2, 4, 2, 4, 4, 8, 4, 8})); } @@ -101,7 +101,7 @@ TEST(TransposeConvTest, O1H2W2I1Stride1x1Adjacent2x2) { {ToString(OperationType::CONVOLUTION_TRANSPOSED), std::move(attr)}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 1, 1, 1, 1, 1, 1, 1, 1})); - ASSERT_TRUE(model.Invoke(*NewConvolutionTransposedNodeShader())); + ASSERT_OK(model.Invoke(*NewConvolutionTransposedNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {1})); } @@ -138,7 +138,7 @@ TEST(TransposeConvTest, O1H3W3I1Stride1x1Adjacent1x1) { {ToString(OperationType::CONVOLUTION_TRANSPOSED), std::move(attr)}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 1, 1, 1})); - ASSERT_TRUE(model.Invoke(*NewConvolutionTransposedNodeShader())); + ASSERT_OK(model.Invoke(*NewConvolutionTransposedNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {7})); } @@ -175,7 +175,7 @@ TEST(TransposeConvTest, O2H1W1I2Stride1x1Dilation1x1) { {ToString(OperationType::CONVOLUTION_TRANSPOSED), std::move(attr)}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 1, 1, 1})); - ASSERT_TRUE(model.Invoke(*NewConvolutionTransposedNodeShader())); + ASSERT_OK(model.Invoke(*NewConvolutionTransposedNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {4, 8, 4, 8})); } @@ -213,7 +213,7 @@ TEST(TransposeConvTest, O1H1W1I1Stride2x2Dilation1x1) { {ToString(OperationType::CONVOLUTION_TRANSPOSED), std::move(attr)}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1, 0, 2, 0, 0, 0, 4, 0, 8})); - ASSERT_TRUE(model.Invoke(*NewConvolutionTransposedNodeShader())); + ASSERT_OK(model.Invoke(*NewConvolutionTransposedNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {2})); } diff --git a/tensorflow/lite/delegates/gpu/gl/kernels/upsampling_bilinear_test.cc b/tensorflow/lite/delegates/gpu/gl/kernels/upsampling_bilinear_test.cc index 9b445e9dc70..f95dfb1bda7 100644 --- a/tensorflow/lite/delegates/gpu/gl/kernels/upsampling_bilinear_test.cc +++ b/tensorflow/lite/delegates/gpu/gl/kernels/upsampling_bilinear_test.cc @@ -49,7 +49,7 @@ TEST(UpsamplingBilinearTest, 1x1x2To2x2x2) { SingleOpModel model({ToString(OperationType::UPSAMPLE_2D), attr}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1.0, 2.0})); - ASSERT_TRUE(model.Invoke(*NewUpsamplingNodeShader())); + ASSERT_OK(model.Invoke(*NewUpsamplingNodeShader())); EXPECT_THAT( model.GetOutput(0), Pointwise(FloatNear(1e-6), {1.0, 2.0, 1.0, 2.0, 1.0, 2.0, 1.0, 2.0})); @@ -74,7 +74,7 @@ TEST(UpsamplingBilinearTest, 1x2x1To1x4x1) { SingleOpModel model({ToString(OperationType::UPSAMPLE_2D), attr}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1.0, 4.0})); - ASSERT_TRUE(model.Invoke(*NewUpsamplingNodeShader())); + ASSERT_OK(model.Invoke(*NewUpsamplingNodeShader())); EXPECT_THAT(model.GetOutput(0), Pointwise(FloatNear(1e-6), {1.0, 2.5, 4.0, 4.0})); } @@ -98,7 +98,7 @@ TEST(UpsamplingBilinearTest, 2x2x1To4x4x1) { SingleOpModel model({ToString(OperationType::UPSAMPLE_2D), attr}, {input}, {output}); ASSERT_TRUE(model.PopulateTensor(0, {1.0, 4.0, 6.0, 8.0})); - ASSERT_TRUE(model.Invoke(*NewUpsamplingNodeShader())); + ASSERT_OK(model.Invoke(*NewUpsamplingNodeShader())); EXPECT_THAT( model.GetOutput(0), Pointwise(FloatNear(1e-6), {1.0, 2.5, 4.0, 4.0, 3.5, 4.75, 6.0, 6.0, 6.0,