aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/contrib/data/python
diff options
context:
space:
mode:
authorGravatar Rohan Jain <rohanj@google.com>2018-09-23 08:53:45 -0700
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2018-09-23 08:58:05 -0700
commitf1237459efb3a5578885b03d5b33c3fed350c348 (patch)
tree128b49a2112e773640a06b3b0578afa8cddd81f0 /tensorflow/contrib/data/python
parent646b3c237deaddddd087d39ab57130b08375c4c7 (diff)
Moving MultiDeviceIterator from contrib to core.
PiperOrigin-RevId: 214173896
Diffstat (limited to 'tensorflow/contrib/data/python')
-rw-r--r--tensorflow/contrib/data/python/kernel_tests/prefetching_ops_test.py160
1 files changed, 0 insertions, 160 deletions
diff --git a/tensorflow/contrib/data/python/kernel_tests/prefetching_ops_test.py b/tensorflow/contrib/data/python/kernel_tests/prefetching_ops_test.py
index 5b17511e41..33a64ea767 100644
--- a/tensorflow/contrib/data/python/kernel_tests/prefetching_ops_test.py
+++ b/tensorflow/contrib/data/python/kernel_tests/prefetching_ops_test.py
@@ -31,7 +31,6 @@ from tensorflow.python.framework import function
from tensorflow.python.framework import ops
from tensorflow.python.framework import sparse_tensor
from tensorflow.python.framework import test_util
-from tensorflow.python.ops import array_ops
from tensorflow.python.ops import resource_variable_ops
from tensorflow.python.platform import test
@@ -944,164 +943,5 @@ class CopyToDeviceTest(test.TestCase):
sess.run(elem_value_t)
-class MultiDeviceIteratorTest(test.TestCase):
-
- def testNoGetNext(self):
- dataset = dataset_ops.Dataset.range(10)
- multi_device_iterator = prefetching_ops.MultiDeviceIterator(
- dataset, ["/cpu:1", "/cpu:2"])
-
- config = config_pb2.ConfigProto(device_count={"CPU": 3})
- with self.test_session(config=config) as sess:
- sess.run(multi_device_iterator.initializer)
-
- def testBasic(self):
- dataset = dataset_ops.Dataset.range(10)
- multi_device_iterator = prefetching_ops.MultiDeviceIterator(
- dataset, ["/cpu:1", "/cpu:2"])
- elem_on_1, elem_on_2 = multi_device_iterator.get_next()
-
- config = config_pb2.ConfigProto(device_count={"CPU": 3})
- with self.test_session(config=config) as sess:
- sess.run(multi_device_iterator.initializer)
- for i in range(0, 10, 2):
- self.assertEqual(i, sess.run(elem_on_1))
- self.assertEqual(i + 1, sess.run(elem_on_2))
- with self.assertRaises(errors.OutOfRangeError):
- sess.run(elem_on_1)
- sess.run(elem_on_2)
-
- def testOneOnSameDevice(self):
- with ops.device("/cpu:0"):
- dataset = dataset_ops.Dataset.range(10)
- multi_device_iterator = prefetching_ops.MultiDeviceIterator(
- dataset, ["/cpu:0", "/cpu:1"])
- elem_on_1, elem_on_2 = multi_device_iterator.get_next()
-
- config = config_pb2.ConfigProto(device_count={"CPU": 2})
- with self.test_session(config=config) as sess:
- sess.run(multi_device_iterator.initializer)
- for i in range(0, 10, 2):
- self.assertEqual(i, sess.run(elem_on_1))
- self.assertEqual(i + 1, sess.run(elem_on_2))
- with self.assertRaises(errors.OutOfRangeError):
- sess.run(elem_on_1)
- sess.run(elem_on_2)
-
- def testRepeatDevices(self):
- with ops.device("/cpu:0"):
- dataset = dataset_ops.Dataset.range(20)
- multi_device_iterator = prefetching_ops.MultiDeviceIterator(
- dataset, ["/cpu:1", "/cpu:2", "/cpu:1", "/cpu:2"])
- elements = multi_device_iterator.get_next()
- elem_on_1, elem_on_2, elem_on_3, elem_on_4 = elements
-
- config = config_pb2.ConfigProto(device_count={"CPU": 3})
- with self.test_session(config=config) as sess:
- sess.run(multi_device_iterator.initializer)
- for i in range(0, 20, 4):
- self.assertEqual(i, sess.run(elem_on_1))
- self.assertEqual(i + 1, sess.run(elem_on_2))
- self.assertEqual(i + 2, sess.run(elem_on_3))
- self.assertEqual(i + 3, sess.run(elem_on_4))
- with self.assertRaises(errors.OutOfRangeError):
- sess.run(elem_on_1)
- sess.run(elem_on_2)
- sess.run(elem_on_3)
- sess.run(elem_on_4)
-
- def testNotFullyDivisible(self):
- dataset = dataset_ops.Dataset.range(9)
- multi_device_iterator = prefetching_ops.MultiDeviceIterator(
- dataset, ["/cpu:1", "/cpu:2"])
- elem_on_1, elem_on_2 = multi_device_iterator.get_next()
-
- config = config_pb2.ConfigProto(device_count={"CPU": 3})
- with self.test_session(config=config) as sess:
- sess.run(multi_device_iterator.initializer)
- for i in range(0, 8, 2):
- self.assertEqual(i, sess.run(elem_on_1))
- self.assertEqual(i + 1, sess.run(elem_on_2))
- self.assertEqual(8, sess.run(elem_on_1))
- with self.assertRaises(errors.OutOfRangeError):
- sess.run(elem_on_1)
- sess.run(elem_on_2)
-
- def testUneven(self):
- dataset = dataset_ops.Dataset.range(10)
- multi_device_iterator = prefetching_ops.MultiDeviceIterator(
- dataset, ["/cpu:1", "/cpu:2"], max_buffer_size=4)
- elem_on_1, elem_on_2 = multi_device_iterator.get_next()
-
- config = config_pb2.ConfigProto(device_count={"CPU": 3})
- with self.test_session(config=config) as sess:
- sess.run(multi_device_iterator.initializer)
- for i in range(0, 10, 2):
- self.assertEqual(i, sess.run(elem_on_1))
- for i in range(0, 10, 2):
- self.assertEqual(i + 1, sess.run(elem_on_2))
- with self.assertRaises(errors.OutOfRangeError):
- sess.run(elem_on_1)
- sess.run(elem_on_2)
-
- def testMultipleInitializations(self):
- with ops.device("/cpu:0"):
- epoch = array_ops.placeholder(dtypes.int64, shape=[])
- dataset1 = dataset_ops.Dataset.from_tensors(epoch).repeat(1000)
- dataset2 = dataset_ops.Dataset.range(1000)
- dataset = dataset_ops.Dataset.zip((dataset1, dataset2))
- multi_device_iterator = prefetching_ops.MultiDeviceIterator(
- dataset, ["/cpu:1", "/cpu:2"], prefetch_buffer_size=4)
- elem_on_1, elem_on_2 = multi_device_iterator.get_next()
- init_op = multi_device_iterator.initializer
-
- config = config_pb2.ConfigProto(device_count={"CPU": 3})
- with self.test_session(config=config) as sess:
- for i in range(1000):
- sess.run(init_op, feed_dict={epoch: i})
- self.assertEqual([(i, 0), (i, 1)], sess.run([elem_on_1, elem_on_2]))
-
- def testBasicGpu(self):
- if not test_util.is_gpu_available():
- self.skipTest("No GPU available")
-
- with compat.forward_compatibility_horizon(2018, 8, 4):
- dataset = dataset_ops.Dataset.range(10)
- multi_device_iterator = prefetching_ops.MultiDeviceIterator(
- dataset, ["/cpu:1", "/gpu:0"])
- elem_on_1, elem_on_2 = multi_device_iterator.get_next()
-
- config = config_pb2.ConfigProto(device_count={"CPU": 2, "GPU": 1})
- with self.test_session(config=config) as sess:
- sess.run(multi_device_iterator.initializer)
- for i in range(0, 10, 2):
- self.assertEqual(i, sess.run(elem_on_1))
- self.assertEqual(i + 1, sess.run(elem_on_2))
- with self.assertRaises(errors.OutOfRangeError):
- sess.run(elem_on_1)
- sess.run(elem_on_2)
-
- def testUnevenGpu(self):
- if not test_util.is_gpu_available():
- self.skipTest("No GPU available")
-
- with compat.forward_compatibility_horizon(2018, 8, 4):
- dataset = dataset_ops.Dataset.range(10)
- multi_device_iterator = prefetching_ops.MultiDeviceIterator(
- dataset, ["/cpu:1", "/gpu:0"], max_buffer_size=4)
- elem_on_1, elem_on_2 = multi_device_iterator.get_next()
-
- config = config_pb2.ConfigProto(device_count={"CPU": 2, "GPU": 1})
- with self.test_session(config=config) as sess:
- sess.run(multi_device_iterator.initializer)
- for i in range(0, 10, 2):
- self.assertEqual(i, sess.run(elem_on_1))
- for i in range(0, 10, 2):
- self.assertEqual(i + 1, sess.run(elem_on_2))
- with self.assertRaises(errors.OutOfRangeError):
- sess.run(elem_on_1)
- sess.run(elem_on_2)
-
-
if __name__ == "__main__":
test.main()