Port the raw_to_bitmap_test from TF test to use TF platform googletest.

PiperOrigin-RevId: 315513067
Change-Id: Ia48c6d215008a82877edc0432f750cb9d6c5bb54
This commit is contained in:
Nick Kreeger 2020-06-09 10:40:54 -07:00 committed by TensorFlower Gardener
parent f6d4243b81
commit f4ef8b315e
2 changed files with 34 additions and 45 deletions

View File

@ -19,16 +19,15 @@ py_library(
],
)
# TODO(b/158529664): Re-enable this test by removing the TF python test lib dependency.
# py_test(
# name = "raw_to_bitmap_test",
# srcs = ["raw_to_bitmap_test.py"],
# data = glob(["testdata/**"]),
# python_version = "PY3",
# tags = ["noubsan"], # TODO(b/144512025): Fix raw_to_bitmap_test to fix ubsan failure.
# deps = [
# ":raw_to_bitmap_lib",
# "//third_party/py/numpy",
# "//tensorflow/python:client_testlib",
# ],
# )
py_test(
name = "raw_to_bitmap_test",
srcs = ["raw_to_bitmap_test.py"],
data = glob(["testdata/**"]),
python_version = "PY3",
tags = ["noubsan"], # TODO(b/144512025): Fix raw_to_bitmap_test to fix ubsan failure.
deps = [
":raw_to_bitmap_lib",
"//tensorflow/python:platform_test",
"//third_party/py/numpy",
],
)

View File

@ -24,7 +24,7 @@ import numpy as np
from tensorflow.lite.micro.examples.person_detection.utils.raw_to_bitmap import parse_file
from tensorflow.lite.micro.examples.person_detection.utils.raw_to_bitmap import reshape_bitmaps
from tensorflow.python.platform import test
from tensorflow.python.platform import googletest
_RGB_RAW = u"""
+++ frame +++
@ -40,11 +40,11 @@ _RGB_FLAT = np.array([[
15, 15, 15
]])
_RGB_RESHAPED = np.array(
[[[[12, 12, 12], [13, 13, 13], [14, 14, 14], [15, 15, 15]],
[[8, 8, 8], [9, 9, 9], [10, 10, 10], [11, 11, 11]],
[[4, 4, 4], [5, 5, 5], [6, 6, 6], [7, 7, 7]],
[[0, 0, 0], [1, 1, 1], [2, 2, 2], [3, 3, 3]]]])
_RGB_RESHAPED = np.array([[[[12, 12, 12], [13, 13, 13], [14, 14, 14],
[15, 15, 15]],
[[8, 8, 8], [9, 9, 9], [10, 10, 10], [11, 11, 11]],
[[4, 4, 4], [5, 5, 5], [6, 6, 6], [7, 7, 7]],
[[0, 0, 0], [1, 1, 1], [2, 2, 2], [3, 3, 3]]]])
_GRAYSCALE_RAW = u"""
+++ frame +++
@ -55,12 +55,9 @@ _GRAYSCALE_RAW = u"""
_GRAYSCALE_FLAT = np.array(
[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
_GRAYSCALE_RESHAPED = np.array([[[12, 13, 14, 15],
[8, 9, 10, 11],
[4, 5, 6, 7],
_GRAYSCALE_RESHAPED = np.array([[[12, 13, 14, 15], [8, 9, 10, 11], [4, 5, 6, 7],
[0, 1, 2, 3]]])
_GRAYSCALE_RAW_MULTI = u"""
+++ frame +++
0x0000 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f
@ -80,46 +77,39 @@ _GRAYSCALE_FLAT_MULTI = [
np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]),
np.array([16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31]),
np.array([32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47]),
np.array([48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63])]
np.array([48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63])
]
_GRAYSCALE_RESHAPED_MULTI = [
np.array([[12, 13, 14, 15],
[8, 9, 10, 11],
[4, 5, 6, 7],
[0, 1, 2, 3]]),
np.array([[28, 29, 30, 31],
[24, 25, 26, 27],
[20, 21, 22, 23],
np.array([[12, 13, 14, 15], [8, 9, 10, 11], [4, 5, 6, 7], [0, 1, 2, 3]]),
np.array([[28, 29, 30, 31], [24, 25, 26, 27], [20, 21, 22, 23],
[16, 17, 18, 19]]),
np.array([[44, 45, 46, 47],
[40, 41, 42, 43],
[36, 37, 38, 39],
np.array([[44, 45, 46, 47], [40, 41, 42, 43], [36, 37, 38, 39],
[32, 33, 34, 35]]),
np.array([[60, 61, 62, 63],
[56, 57, 58, 59],
[52, 53, 54, 55],
[48, 49, 50, 51]])]
np.array([[60, 61, 62, 63], [56, 57, 58, 59], [52, 53, 54, 55],
[48, 49, 50, 51]])
]
class RawToBitmapTest(test.TestCase):
class RawToBitmapTest(googletest.TestCase):
def testParseRgb(self):
def test_parse_rgb(self):
frame_list = parse_file(io.StringIO(_RGB_RAW), 4, 4, 3)
self.assertTrue(np.array_equal(_RGB_FLAT, frame_list))
def testParseGrayscale(self):
def test_parse_grayscale(self):
frame_list = parse_file(io.StringIO(_GRAYSCALE_RAW), 4, 4, 1)
self.assertTrue(np.array_equal(_GRAYSCALE_FLAT, frame_list))
def testReshapeRgb(self):
def test_reshape_rgb(self):
reshaped = reshape_bitmaps(_RGB_FLAT, 4, 4, 3)
self.assertTrue(np.array_equal(_RGB_RESHAPED, reshaped))
def testReshapeGrayscale(self):
def test_reshape_grayscale(self):
reshaped = reshape_bitmaps(_GRAYSCALE_FLAT, 4, 4, 1)
self.assertTrue(np.array_equal(_GRAYSCALE_RESHAPED, reshaped))
def testMultipleGrayscale(self):
def test_multiple_grayscale(self):
frame_list = parse_file(io.StringIO(_GRAYSCALE_RAW_MULTI), 4, 4, 1)
self.assertTrue(np.array_equal(_GRAYSCALE_FLAT_MULTI, frame_list))
reshaped = reshape_bitmaps(frame_list, 4, 4, 1)
@ -127,4 +117,4 @@ class RawToBitmapTest(test.TestCase):
if __name__ == '__main__':
test.main()
googletest.main()