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_stack.py 1.8 kB

5 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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 tensorflow as tf
  7. import tensorlayer as tl
  8. from tests.utils import CustomTestCase
  9. class Layer_Stack_Test(CustomTestCase):
  10. @classmethod
  11. def setUpClass(cls):
  12. x = tf.placeholder(tf.float32, shape=[None, 30])
  13. net_in = tl.layers.InputLayer(x, name='input')
  14. net_d1 = tl.layers.DenseLayer(net_in, n_units=10, name='dense1')
  15. net_d2 = tl.layers.DenseLayer(net_in, n_units=10, name='dense2')
  16. net_d3 = tl.layers.DenseLayer(net_in, n_units=10, name='dense3')
  17. cls.net_stack = tl.layers.StackLayer([net_d1, net_d2, net_d3], axis=1, name='stack')
  18. cls.net_stack.print_layers()
  19. cls.net_stack.print_params(False)
  20. cls.net_unstack = tl.layers.UnStackLayer(cls.net_stack, axis=1, name='unstack')
  21. cls.net_unstack.print_layers()
  22. cls.net_unstack.print_params(False)
  23. @classmethod
  24. def tearDownClass(cls):
  25. tf.reset_default_graph()
  26. def test_StackLayer(self):
  27. self.assertEqual(self.net_stack.outputs.get_shape().as_list()[-1], 10)
  28. self.assertEqual(len(self.net_stack.all_layers), 5)
  29. self.assertEqual(len(self.net_stack.all_params), 6)
  30. self.assertEqual(self.net_stack.count_params(), 930)
  31. def test_UnStackLayer(self):
  32. for n in self.net_unstack.outputs:
  33. shape = n.outputs.get_shape().as_list()
  34. self.assertEqual(shape[-1], 10)
  35. self.assertEqual(len(n.all_layers), 5)
  36. self.assertEqual(len(n.all_params), 6)
  37. self.assertEqual(n.count_params(), 930)
  38. if __name__ == '__main__':
  39. tf.logging.set_verbosity(tf.logging.DEBUG)
  40. tl.logging.set_verbosity(tl.logging.DEBUG)
  41. unittest.main()

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