You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

test_layers_padding.py 2.6 kB

4 years ago
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import os
  4. import unittest
  5. os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
  6. import tensorlayer as tl
  7. from tests.utils import CustomTestCase
  8. class Layer_Padding_Test(CustomTestCase):
  9. @classmethod
  10. def setUpClass(cls):
  11. ## 1D
  12. cls.input_layer1 = tl.layers.Input([None, 100, 1], name='input_layer1')
  13. n1 = tl.layers.ZeroPad1d(padding=1)(cls.input_layer1)
  14. n2 = tl.layers.ZeroPad1d(padding=(2, 3))(cls.input_layer1)
  15. cls.n1_shape = n1.get_shape().as_list()
  16. cls.n2_shape = n2.get_shape().as_list()
  17. ## 2D
  18. cls.input_layer2 = tl.layers.Input([None, 100, 100, 3], name='input_layer2')
  19. n0 = tl.layers.PadLayer([[0, 0], [3, 3], [3, 3], [0, 0]], "REFLECT", name='inpad')(cls.input_layer2)
  20. n3 = tl.layers.ZeroPad2d(padding=2)(cls.input_layer2)
  21. n4 = tl.layers.ZeroPad2d(padding=(2, 3))(cls.input_layer2)
  22. n5 = tl.layers.ZeroPad2d(padding=((3, 3), (4, 4)))(cls.input_layer2)
  23. cls.n0_shape = n0.get_shape().as_list()
  24. cls.n3_shape = n3.get_shape().as_list()
  25. cls.n4_shape = n4.get_shape().as_list()
  26. cls.n5_shape = n5.get_shape().as_list()
  27. ## 3D
  28. cls.input_layer3 = tl.layers.Input([None, 100, 100, 100, 3], name='input_layer3')
  29. n6 = tl.layers.ZeroPad3d(padding=2)(cls.input_layer3)
  30. n7 = tl.layers.ZeroPad3d(padding=(2, 3, 4))(cls.input_layer3)
  31. n8 = tl.layers.ZeroPad3d(padding=((3, 3), (4, 4), (5, 5)))(cls.input_layer3)
  32. cls.n6_shape = n6.get_shape().as_list()
  33. cls.n7_shape = n7.get_shape().as_list()
  34. cls.n8_shape = n8.get_shape().as_list()
  35. @classmethod
  36. def tearDownClass(cls):
  37. pass
  38. def test_n0_shape(self):
  39. self.assertEqual(self.n0_shape[1:], [106, 106, 3])
  40. def test_n1_shape(self):
  41. self.assertEqual(self.n1_shape[1:], [102, 1])
  42. def test_n2_shape(self):
  43. self.assertEqual(self.n2_shape[1:], [105, 1])
  44. def test_n3_shape(self):
  45. self.assertEqual(self.n3_shape[1:], [104, 104, 3])
  46. def test_n4_shape(self):
  47. self.assertEqual(self.n4_shape[1:], [104, 106, 3])
  48. def test_n5_shape(self):
  49. self.assertEqual(self.n5_shape[1:], [106, 108, 3])
  50. def test_n6_shape(self):
  51. self.assertEqual(self.n6_shape[1:], [104, 104, 104, 3])
  52. def test_n7_shape(self):
  53. self.assertEqual(self.n7_shape[1:], [104, 106, 108, 3])
  54. def test_n8_shape(self):
  55. self.assertEqual(self.n8_shape[1:], [106, 108, 110, 3])
  56. if __name__ == '__main__':
  57. tl.logging.set_verbosity(tl.logging.DEBUG)
  58. unittest.main()

TensorLayer3.0 是一款兼容多种深度学习框架为计算后端的深度学习库。计划兼容TensorFlow, Pytorch, MindSpore, Paddle.