Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. import numpy as np
  2. import tensorflow as tf
  3. from tensorflow.python.framework import sparse_tensor
  4. from tensorflow.python.platform import test
  5. from tensorflow.contrib.layers.python.layers import layers as _layers
  6.  
  7. def _sparsify(array, threshold=0.5):
  8. array[array < threshold] = 0
  9. non_zero = np.where(array)
  10. indices = np.vstack(non_zero).T
  11. values = array[non_zero]
  12. shape = array.shape
  13. return indices, values, shape
  14.  
  15.  
  16. class SparsifyTest(test.TestCase):
  17. def testSparsePartialFlatten(self):
  18. """Test `_inner_flatten` on `SparseTensor`s."""
  19. shape = [4, 3, 11, 6, 1, 3]
  20. np.random.seed(10301)
  21. random_ = np.random.rand(*shape)
  22. indices, values, _ = _sparsify(random_)
  23.  
  24. for new_rank in [1, 2, 3, 4, 5]:
  25. expected_shape = (shape[:new_rank - 1] + [np.prod(shape[new_rank - 1:])])
  26. reshaped_random_ = np.reshape(random_, expected_shape)
  27. expected_indices, expected_values, _ = _sparsify(reshaped_random_)
  28.  
  29. inputs_t = sparse_tensor.SparseTensor(indices, values, shape)
  30.  
  31. flattened_t = _layers._inner_flatten(inputs_t, new_rank)
  32.  
  33. with self.test_session() as sess:
  34. flattened = sess.run(flattened_t)
  35.  
  36. np.testing.assert_array_equal(expected_indices, flattened.indices)
  37. np.testing.assert_array_equal(expected_values, flattened.values)
  38. np.testing.assert_array_equal(expected_shape, flattened.dense_shape)
  39.  
  40.  
  41. t = SparsifyTest()
  42. t.testSparsePartialFlatten()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement