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_activation.py 3.4 kB

5 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  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 Activation_Layer_Test(CustomTestCase):
  9. @classmethod
  10. def setUpClass(self):
  11. self.inputs = tl.layers.Input([10, 5])
  12. @classmethod
  13. def tearDownClass(self):
  14. pass
  15. def test_prelu_1(self):
  16. prelulayer = tl.layers.PRelu(channel_shared=True)
  17. class prelu_model(tl.layers.Module):
  18. def __init__(self):
  19. super(prelu_model, self).__init__()
  20. self.prelu = prelulayer
  21. def forward(self, inputs):
  22. return self.prelu(inputs)
  23. net = prelu_model()
  24. self.assertTrue(tl.get_tensor_shape(net(self.inputs)), [10, 5])
  25. def test_prelu_2(self):
  26. prelulayer = tl.layers.PRelu(in_channels=5)
  27. prelu = prelulayer(self.inputs)
  28. self.assertTrue(tl.get_tensor_shape(prelu), [10, 5])
  29. def test_prelu6_1(self):
  30. prelu6layer = tl.layers.PRelu6(in_channels=5)
  31. prelu6 = prelu6layer(self.inputs)
  32. self.assertTrue(tl.get_tensor_shape(prelu6), [10, 5])
  33. def test_prelu6_2(self):
  34. prelu6layer = tl.layers.PRelu6(channel_shared=True)
  35. class prelu6_model(tl.layers.Module):
  36. def __init__(self):
  37. super(prelu6_model, self).__init__()
  38. self.prelu = prelu6layer
  39. def forward(self, inputs):
  40. return self.prelu(inputs)
  41. net = prelu6_model()
  42. self.assertTrue(tl.get_tensor_shape(net(self.inputs)), [10, 5])
  43. def test_ptrelu6_1(self):
  44. ptrelu6layer = tl.layers.PTRelu6(channel_shared=True)
  45. ptrelu6 = ptrelu6layer(self.inputs)
  46. self.assertTrue(tl.get_tensor_shape(ptrelu6), [10, 5])
  47. def test_ptrelu6_2(self):
  48. ptrelu6layer = tl.layers.PTRelu6(in_channels=5)
  49. class ptrelu6_model(tl.layers.Module):
  50. def __init__(self):
  51. super(ptrelu6_model, self).__init__()
  52. self.prelu = ptrelu6layer
  53. def forward(self, inputs):
  54. return self.prelu(inputs)
  55. net = ptrelu6_model()
  56. self.assertTrue(tl.get_tensor_shape(net(self.inputs)), [10, 5])
  57. def test_lrelu(self):
  58. lrelulayer = tl.layers.LeakyReLU(alpha=0.5)
  59. lrelu = lrelulayer(self.inputs)
  60. self.assertTrue(tl.get_tensor_shape(lrelu), [5, 10])
  61. def test_lrelu6(self):
  62. lrelu6layer = tl.layers.LeakyReLU6(alpha=0.5)
  63. lrelu6 = lrelu6layer(self.inputs)
  64. self.assertTrue(tl.get_tensor_shape(lrelu6), [5, 10])
  65. def test_ltrelu6(self):
  66. ltrelu6layer = tl.layers.LeakyTwiceRelu6()
  67. ltrelu6 = ltrelu6layer(self.inputs)
  68. self.assertTrue(tl.get_tensor_shape(ltrelu6), [5, 10])
  69. def test_swish(self):
  70. swishlayer = tl.layers.Swish()
  71. swish = swishlayer(self.inputs)
  72. self.assertTrue(tl.get_tensor_shape(swish), [5, 10])
  73. def test_hardtanh(self):
  74. hardtanhlayer = tl.layers.HardTanh()
  75. hardtanh = hardtanhlayer(self.inputs)
  76. self.assertTrue(tl.get_tensor_shape(hardtanh), [5, 10])
  77. def test_mish(self):
  78. mishlayer = tl.layers.Mish()
  79. mish = mishlayer(self.inputs)
  80. self.assertTrue(tl.get_tensor_shape(mish), [5, 10])
  81. if __name__ == '__main__':
  82. unittest.main()

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