aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/contrib/data/python/kernel_tests
diff options
context:
space:
mode:
Diffstat (limited to 'tensorflow/contrib/data/python/kernel_tests')
-rw-r--r--tensorflow/contrib/data/python/kernel_tests/BUILD7
-rw-r--r--tensorflow/contrib/data/python/kernel_tests/dataset_serialization_test_base.py2
-rw-r--r--tensorflow/contrib/data/python/kernel_tests/interleave_dataset_op_test.py63
-rw-r--r--tensorflow/contrib/data/python/kernel_tests/stats_dataset_ops_test.py16
4 files changed, 55 insertions, 33 deletions
diff --git a/tensorflow/contrib/data/python/kernel_tests/BUILD b/tensorflow/contrib/data/python/kernel_tests/BUILD
index 9d1e8b20c2..d59dd17aea 100644
--- a/tensorflow/contrib/data/python/kernel_tests/BUILD
+++ b/tensorflow/contrib/data/python/kernel_tests/BUILD
@@ -4,7 +4,7 @@ licenses(["notice"]) # Apache 2.0
exports_files(["LICENSE"])
-load("//tensorflow:tensorflow.bzl", "py_test", "tf_py_test")
+load("//tensorflow:tensorflow.bzl", "cuda_py_test", "py_test", "tf_py_test")
py_test(
name = "batch_dataset_op_test",
@@ -482,12 +482,11 @@ py_test(
],
)
-py_test(
+cuda_py_test(
name = "prefetching_ops_test",
size = "small",
srcs = ["prefetching_ops_test.py"],
- srcs_version = "PY2AND3",
- deps = [
+ additional_deps = [
"//tensorflow/contrib/data/python/ops:prefetching_ops",
"//tensorflow/core:protos_all_py",
"//tensorflow/python:client_testlib",
diff --git a/tensorflow/contrib/data/python/kernel_tests/dataset_serialization_test_base.py b/tensorflow/contrib/data/python/kernel_tests/dataset_serialization_test_base.py
index dbc35097dd..78ecce8f7d 100644
--- a/tensorflow/contrib/data/python/kernel_tests/dataset_serialization_test_base.py
+++ b/tensorflow/contrib/data/python/kernel_tests/dataset_serialization_test_base.py
@@ -163,7 +163,7 @@ class DatasetSerializationTestBase(test.TestCase):
num_outputs,
sparse_tensors=False,
verify_exhausted=True):
- """Verifies that restoring into an already initilized iterator works.
+ """Verifies that restoring into an already initialized iterator works.
Args:
ds_fn: See `run_core_tests`.
diff --git a/tensorflow/contrib/data/python/kernel_tests/interleave_dataset_op_test.py b/tensorflow/contrib/data/python/kernel_tests/interleave_dataset_op_test.py
index f8556a1b28..43aa4b1bd0 100644
--- a/tensorflow/contrib/data/python/kernel_tests/interleave_dataset_op_test.py
+++ b/tensorflow/contrib/data/python/kernel_tests/interleave_dataset_op_test.py
@@ -409,7 +409,7 @@ class ParallelInterleaveDatasetTest(test.TestCase):
def _testTwoThreadsNoContentionWithRaces(self, sloppy=False):
"""Tests where all the workers race in producing elements.
- Note: this is in contrast with the prevous test which carefully sequences
+ Note: this is in contrast with the previous test which carefully sequences
the execution of the map functions.
Args:
@@ -495,7 +495,7 @@ class ParallelInterleaveDatasetTest(test.TestCase):
def _testTwoThreadsNoContentionWithRacesAndBlocking(self, sloppy=False):
"""Tests where all the workers race in producing elements.
- Note: this is in contrast with the prevous test which carefully sequences
+ Note: this is in contrast with the previous test which carefully sequences
the execution of the map functions.
@@ -928,8 +928,7 @@ class DirectedInterleaveDatasetTest(test.TestCase):
sess.run(next_element)
def _normalize(self, vec):
- batched = (len(vec.shape) == 2)
- return vec / vec.sum(axis=1, keepdims=True) if batched else vec / vec.sum()
+ return vec / vec.sum()
def _chi2(self, expected, actual):
actual = np.asarray(actual)
@@ -938,35 +937,43 @@ class DirectedInterleaveDatasetTest(test.TestCase):
chi2 = np.sum(diff * diff / expected, axis=0)
return chi2
+ def _testSampleFromDatasetsHelper(self, weights, num_datasets, num_samples):
+ # Create a dataset that samples each integer in `[0, num_datasets)`
+ # with probability given by `weights[i]`.
+ dataset = interleave_ops.sample_from_datasets([
+ dataset_ops.Dataset.from_tensors(i).repeat(None)
+ for i in range(num_datasets)
+ ], weights)
+ dataset = dataset.take(num_samples)
+ iterator = dataset.make_one_shot_iterator()
+ next_element = iterator.get_next()
+
+ with self.test_session() as sess:
+ freqs = np.zeros([num_datasets])
+ for _ in range(num_samples):
+ freqs[sess.run(next_element)] += 1
+ with self.assertRaises(errors.OutOfRangeError):
+ sess.run(next_element)
+
+ return freqs
+
def testSampleFromDatasets(self):
- random_seed.set_random_seed(1618)
+ random_seed.set_random_seed(1619)
num_samples = 10000
- rand_probs = self._normalize(np.random.random_sample((10,)))
- rand_probs2 = self._normalize(np.random.random_sample((15,)))
+ rand_probs = self._normalize(np.random.random_sample((15,)))
- for probs in [[.5, .5], [.85, .05, .1], rand_probs, rand_probs2]:
+ # Use chi-squared test to assert that the observed distribution matches the
+ # expected distribution. Based on the implementation in
+ # "tensorflow/python/kernel_tests/multinomial_op_test.py".
+ for probs in [[.85, .05, .1], rand_probs]:
probs = np.asarray(probs)
+ classes = len(probs)
+ freqs = self._testSampleFromDatasetsHelper(probs, classes, num_samples)
+ self.assertLess(self._chi2(probs, freqs / num_samples), 1e-3)
- # Create a dataset that samples each integer in `[0, probs.shape[0])`
- # with probability given by `probs[i]`.
- dataset = interleave_ops.sample_from_datasets([
- dataset_ops.Dataset.from_tensors(i).repeat(None)
- for i in range(probs.shape[0])
- ], probs)
- dataset = dataset.take(num_samples)
- iterator = dataset.make_one_shot_iterator()
- next_element = iterator.get_next()
-
- with self.test_session() as sess:
- freqs = np.zeros_like(probs)
- for _ in range(num_samples):
- freqs[sess.run(next_element)] += 1
- with self.assertRaises(errors.OutOfRangeError):
- sess.run(next_element)
-
- # Use chi-squared test to assert that the observed distribution
- # matches the expected distribution. Based on the implementation
- # in "tensorflow/python/kernel_tests/multinomial_op_test.py".
+ # Also check that `weights` as a dataset samples correctly.
+ probs_ds = dataset_ops.Dataset.from_tensors(probs).repeat()
+ freqs = self._testSampleFromDatasetsHelper(probs_ds, classes, num_samples)
self.assertLess(self._chi2(probs, freqs / num_samples), 1e-3)
def testErrors(self):
diff --git a/tensorflow/contrib/data/python/kernel_tests/stats_dataset_ops_test.py b/tensorflow/contrib/data/python/kernel_tests/stats_dataset_ops_test.py
index 7acbc676ce..5c74ed6ae7 100644
--- a/tensorflow/contrib/data/python/kernel_tests/stats_dataset_ops_test.py
+++ b/tensorflow/contrib/data/python/kernel_tests/stats_dataset_ops_test.py
@@ -201,6 +201,14 @@ class StatsDatasetSerializationTest(
lambda x: array_ops.tile([x], ops.convert_to_tensor([x]))).apply(
stats_ops.bytes_produced_stats("bytes_produced"))
+ def test_bytes_produced_stats_invalid_tag_shape(self):
+ with self.assertRaisesRegexp(
+ ValueError, 'Shape must be rank 0 but is rank 1'):
+ self.run_core_tests(
+ lambda: dataset_ops.Dataset.range(100).apply(
+ stats_ops.bytes_produced_stats(["bytes_produced"])),
+ None, 100)
+
def testBytesStatsDatasetSaveableCore(self):
num_outputs = 100
self.run_core_tests(
@@ -218,6 +226,14 @@ class StatsDatasetSerializationTest(
return dataset_ops.Dataset.range(num_elements).apply(
stats_ops.latency_stats(tag1)).apply(stats_ops.latency_stats(tag2))
+ def test_latency_stats_invalid_tag_shape(self):
+ with self.assertRaisesRegexp(
+ ValueError, 'Shape must be rank 0 but is rank 1'):
+ self.run_core_tests(
+ lambda: dataset_ops.Dataset.range(100).apply(
+ stats_ops.latency_stats(["record_latency", "record_latency_2"])),
+ None, 100)
+
def testLatencyStatsDatasetSaveableCore(self):
num_outputs = 100