|
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
-
- import os
- import unittest
-
- os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
-
- import tensorlayer as tl
-
- from tests.utils import CustomTestCase
-
-
- class Dataflow_Image_Test(CustomTestCase):
-
- @classmethod
- def setUpClass(self):
- self.input_shape = [1, 100, 100, 3]
- self.input_layer = tl.layers.Input(self.input_shape, name='input_layer')
- self.input_shape_1 = [100, 100, 3]
- self.input_layer_1 = tl.layers.Input(self.input_shape_1, name='input_layer_1')
-
- self.centralcrop_1 = tl.dataflow.image.CentralCrop(self.input_layer, central_fraction=0.5)
- self.centralcrop_2 = tl.dataflow.image.CentralCrop(self.input_layer, size=60)
-
- self.hsvtorgb = tl.dataflow.image.HsvToRgb(self.input_layer)
-
- self.adjustbrightness = tl.dataflow.image.AdjustBrightness(self.input_layer, factor=0.5)
- self.adjustconstrast = tl.dataflow.image.AdjustContrast(self.input_layer, factor=0.5)
- self.adjusthue = tl.dataflow.image.AdjustHue(self.input_layer, factor=0.5)
- self.adjustsaturation = tl.dataflow.image.AdjustSaturation(self.input_layer, factor=0.5)
-
- self.crop = tl.dataflow.image.Crop(
- self.input_layer, offset_height=20, offset_width=20, target_height=60, target_width=60
- )
-
- self.fliphorizontal = tl.dataflow.image.FlipHorizontal(self.input_layer)
- self.flipvertical = tl.dataflow.image.FlipVertical(self.input_layer)
-
- self.rgbtogray = tl.dataflow.image.RgbToGray(self.input_layer)
- self.graytorgb = tl.dataflow.image.GrayToRgb(self.rgbtogray)
-
- self.padtoboundingbox = tl.dataflow.image.PadToBoundingbox(
- self.input_layer, offset_height=20, offset_width=20, target_height=150, target_width=150
- )
-
- self.pad_1 = tl.dataflow.image.Pad(self.input_layer, padding=10, padding_value=1, mode='constant')
- self.pad_2 = tl.dataflow.image.Pad(self.input_layer, padding=(10, 10), mode='REFLECT')
- self.pad_3 = tl.dataflow.image.Pad(self.input_layer, padding=(10, 20, 30, 40), mode='SYMMETRIC')
-
- self.standardization_1 = tl.dataflow.image.Standardization(
- self.input_layer, mean=(0.5, 0.5, 0.5), std=(0.5, 0.5, 0.5)
- )
- self.standardization_2 = tl.dataflow.image.Standardization(self.input_layer, channel_mode=False)
- self.standardization_3 = tl.dataflow.image.Standardization(self.input_layer, channel_mode=True)
-
- self.randombrightness = tl.dataflow.image.RandomBrightness(self.input_layer, factor=0.5)
- self.randomcontrast = tl.dataflow.image.RandomContrast(self.input_layer, lower=0.2, upper=0.5)
- self.randomhue = tl.dataflow.image.RandomHue(self.input_layer, factor=0.5)
- self.randomsaturation = tl.dataflow.image.RandomSaturation(self.input_layer, lower=0.2, upper=0.5)
-
- self.randomcrop_1 = tl.dataflow.image.RandomCrop(self.input_layer, size=50)
- self.randomcrop_2 = tl.dataflow.image.RandomCrop(self.input_layer, size=(50, 60))
-
- self.resize_1 = tl.dataflow.image.Resize(
- self.input_layer, size=46, method='bilinear', preserve_aspect_ratio=False, antialias=True
- )
-
- self.resize_2 = tl.dataflow.image.Resize(
- self.input_layer, size=(32, 45), method='bilinear', preserve_aspect_ratio=True, antialias=False
- )
-
- self.croporpad = tl.dataflow.image.CropOrPad(self.input_layer, target_height=50, target_width=150)
- self.resizeandpad = tl.dataflow.image.ResizeAndPad(
- self.input_layer, target_height=50, target_width=150, method='bilinear'
- )
- self.rgbtohsv = tl.dataflow.image.RgbToHsv(self.input_layer)
- self.transpose = tl.dataflow.image.Transpose(self.input_layer, order=(3, 2, 1, 0))
- self.randomrotation = tl.dataflow.image.RandomRotation(
- self.input_layer_1, degrees=60, fill_mode='nearest', fill_value=1
- )
- self.randomshift_1 = tl.dataflow.image.RandomShift(
- self.input_layer_1, shift=0.5, fill_mode='nearest', fill_value=0
- )
- self.randomshift_2 = tl.dataflow.image.RandomShift(
- self.input_layer_1, shift=(0.5, 0.4), fill_mode='nearest', fill_value=0
- )
-
- self.randomshear = tl.dataflow.image.RandomShear(
- self.input_layer_1, degree=30, fill_mode='nearest', fill_value=1
- )
-
- self.randomzoom_1 = tl.dataflow.image.RandomZoom(
- self.input_layer_1, zoom_range=0.5, fill_mode='nearest', fill_value=1
- )
- self.randomzoom_2 = tl.dataflow.image.RandomZoom(
- self.input_layer_1, zoom_range=(0.5, 0.4), fill_mode='nearest', fill_value=1
- )
-
- self.rescale = tl.dataflow.image.Rescale(self.input_layer, scale=3, offset=4)
- self.randomflipvertical = tl.dataflow.image.RandomFlipVertical(self.input_layer)
- self.randomfliphorizontal = tl.dataflow.image.RandomFlipHorizontal(self.input_layer)
- self.hwc2chw = tl.dataflow.image.HWC2CHW(self.input_layer)
- self.chw2hwc = tl.dataflow.image.CHW2HWC(self.hwc2chw)
-
- @classmethod
- def tearDownClass(self):
- pass
-
- def test_centralcrop_1(self):
-
- self.assertEqual(tl.get_tensor_shape(self.centralcrop_1), [1, 50, 50, 3])
-
- def test_centralcrop_2(self):
-
- self.assertEqual(tl.get_tensor_shape(self.centralcrop_2), [1, 60, 60, 3])
-
- def test_hsvtorgb(self):
-
- self.assertEqual(tl.get_tensor_shape(self.hsvtorgb), [1, 100, 100, 3])
-
- def test_adjustbrightness(self):
-
- self.assertEqual(tl.get_tensor_shape(self.adjustbrightness), [1, 100, 100, 3])
-
- def test_adjustconstrast(self):
-
- self.assertEqual(tl.get_tensor_shape(self.adjustconstrast), [1, 100, 100, 3])
-
- def test_adjusthue(self):
-
- self.assertEqual(tl.get_tensor_shape(self.adjusthue), [1, 100, 100, 3])
-
- def test_adjustsaturation(self):
-
- self.assertEqual(tl.get_tensor_shape(self.adjustsaturation), [1, 100, 100, 3])
-
- def test_crop(self):
-
- self.assertEqual(tl.get_tensor_shape(self.crop), [1, 60, 60, 3])
-
- def test_fliphorizontal(self):
-
- self.assertEqual(tl.get_tensor_shape(self.fliphorizontal), [1, 100, 100, 3])
-
- def test_flipvertical(self):
-
- self.assertEqual(tl.get_tensor_shape(self.flipvertical), [1, 100, 100, 3])
-
- def test_rgbtogray(self):
-
- self.assertEqual(tl.get_tensor_shape(self.rgbtogray), [1, 100, 100, 1])
-
- def test_graytorgb(self):
-
- self.assertEqual(tl.get_tensor_shape(self.graytorgb), [1, 100, 100, 3])
-
- def test_padtoboundingbox(self):
-
- self.assertEqual(tl.get_tensor_shape(self.padtoboundingbox), [1, 150, 150, 3])
-
- def test_pad_1(self):
-
- self.assertEqual(tl.get_tensor_shape(self.pad_1), [1, 120, 120, 3])
-
- def test_pad_2(self):
-
- self.assertEqual(tl.get_tensor_shape(self.pad_2), [1, 120, 120, 3])
-
- def test_pad_3(self):
-
- self.assertEqual(tl.get_tensor_shape(self.pad_3), [1, 130, 170, 3])
-
- def test_standardization_1(self):
-
- self.assertEqual(tl.get_tensor_shape(self.standardization_1), [1, 100, 100, 3])
-
- def test_standardization_2(self):
-
- self.assertEqual(tl.get_tensor_shape(self.standardization_2), [1, 100, 100, 3])
-
- def test_standardization_3(self):
-
- self.assertEqual(tl.get_tensor_shape(self.standardization_3), [1, 100, 100, 3])
-
- def test_randomcontrast(self):
-
- self.assertEqual(tl.get_tensor_shape(self.randomcontrast), [1, 100, 100, 3])
-
- def test_randomhue(self):
-
- self.assertEqual(tl.get_tensor_shape(self.randomhue), [1, 100, 100, 3])
-
- def test_randomsaturation(self):
-
- self.assertEqual(tl.get_tensor_shape(self.randomsaturation), [1, 100, 100, 3])
-
- def test_randomcrop_1(self):
-
- self.assertEqual(tl.get_tensor_shape(self.randomcrop_1), [1, 50, 50, 3])
-
- def test_randomcrop_2(self):
-
- self.assertEqual(tl.get_tensor_shape(self.randomcrop_2), [1, 50, 60, 3])
-
- def test_resize_1(self):
-
- self.assertEqual(tl.get_tensor_shape(self.resize_1), [1, 46, 46, 3])
-
- def test_resize_2(self):
-
- self.assertEqual(tl.get_tensor_shape(self.resize_2), [1, 32, 32, 3])
-
- def test_croporpad(self):
-
- self.assertEqual(tl.get_tensor_shape(self.croporpad), [1, 50, 150, 3])
-
- def test_resizeandpad(self):
-
- self.assertEqual(tl.get_tensor_shape(self.resizeandpad), [1, 50, 150, 3])
-
- def test_rgbtohsv(self):
-
- self.assertEqual(tl.get_tensor_shape(self.rgbtohsv), [1, 100, 100, 3])
-
- def test_transpose(self):
-
- self.assertEqual(tl.get_tensor_shape(self.transpose), [3, 100, 100, 1])
-
- def test_randomrotation(self):
-
- self.assertEqual(tl.get_tensor_shape(self.randomrotation), [100, 100, 3])
-
- def test_randomshift_1(self):
-
- self.assertEqual(tl.get_tensor_shape(self.randomshift_1), [100, 100, 3])
-
- def test_randomshift_2(self):
-
- self.assertEqual(tl.get_tensor_shape(self.randomshift_2), [100, 100, 3])
-
- def test_randoshear(self):
-
- self.assertEqual(tl.get_tensor_shape(self.randomshear), [100, 100, 3])
-
- def test_randomzoom_1(self):
-
- self.assertEqual(tl.get_tensor_shape(self.randomzoom_1), [100, 100, 3])
-
- def test_randomzoom_2(self):
-
- self.assertEqual(tl.get_tensor_shape(self.randomzoom_2), [100, 100, 3])
-
- def test_rescale(self):
-
- self.assertEqual(tl.get_tensor_shape(self.rescale), [1, 100, 100, 3])
-
- def test_randomflipvertical(self):
-
- self.assertEqual(tl.get_tensor_shape(self.randomflipvertical), [1, 100, 100, 3])
-
- def test_randomfliphorizontal(self):
-
- self.assertEqual(tl.get_tensor_shape(self.randomfliphorizontal), [1, 100, 100, 3])
-
- def test_hwc2chw(self):
-
- self.assertEqual(tl.get_tensor_shape(self.hwc2chw), [1, 3, 100, 100])
-
- def test_chw2hwc(self):
-
- self.assertEqual(tl.get_tensor_shape(self.chw2hwc), [1, 100, 100, 3])
-
-
- if __name__ == '__main__':
-
- tl.logging.set_verbosity(tl.logging.DEBUG)
-
- unittest.main()
|