aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/python/kernel_tests/reader_ops_test.py
diff options
context:
space:
mode:
authorGravatar Shanqing Cai <cais@google.com>2017-04-22 06:08:17 -0800
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2017-04-22 07:28:38 -0700
commit326942394e69074d50d5889218a24c9371eff259 (patch)
tree50c78852c36b828440761a16650718f224560f7b /tensorflow/python/kernel_tests/reader_ops_test.py
parent3c0900a49c11b7975c7accc026153bbc2001c018 (diff)
Merge changes from github.
Change: 153925676
Diffstat (limited to 'tensorflow/python/kernel_tests/reader_ops_test.py')
-rw-r--r--tensorflow/python/kernel_tests/reader_ops_test.py54
1 files changed, 54 insertions, 0 deletions
diff --git a/tensorflow/python/kernel_tests/reader_ops_test.py b/tensorflow/python/kernel_tests/reader_ops_test.py
index 5e8f8e8673..10f34751d0 100644
--- a/tensorflow/python/kernel_tests/reader_ops_test.py
+++ b/tensorflow/python/kernel_tests/reader_ops_test.py
@@ -352,9 +352,20 @@ class FixedLengthRecordReaderTest(test.TestCase):
self._record_bytes = 3
self._footer_bytes = 2
+ self._hop_bytes = 2
+ self._num_overlapped_records = 3
+
def _Record(self, f, r):
return compat.as_bytes(str(f * 2 + r) * self._record_bytes)
+ def _OverlappedRecord(self, f, r):
+ record_str = "".join([
+ str(i)[0]
+ for i in range(r * self._hop_bytes,
+ r * self._hop_bytes + self._record_bytes)
+ ])
+ return compat.as_bytes(record_str)
+
def _CreateFiles(self):
filenames = []
for i in range(self._num_files):
@@ -367,6 +378,23 @@ class FixedLengthRecordReaderTest(test.TestCase):
f.write(b"F" * self._footer_bytes)
return filenames
+ def _CreateOverlappedRecordFiles(self):
+ filenames = []
+ for i in range(self._num_files):
+ fn = os.path.join(self.get_temp_dir(),
+ "fixed_length_overlapped_record.%d.txt" % i)
+ filenames.append(fn)
+ with open(fn, "wb") as f:
+ f.write(b"H" * self._header_bytes)
+ all_records_str = "".join([
+ str(i)[0]
+ for i in range(self._record_bytes + self._hop_bytes *
+ (self._num_overlapped_records - 1))
+ ])
+ f.write(compat.as_bytes(all_records_str))
+ f.write(b"F" * self._footer_bytes)
+ return filenames
+
def testOneEpoch(self):
files = self._CreateFiles()
with self.test_session() as sess:
@@ -374,6 +402,7 @@ class FixedLengthRecordReaderTest(test.TestCase):
header_bytes=self._header_bytes,
record_bytes=self._record_bytes,
footer_bytes=self._footer_bytes,
+ hop_bytes=0,
name="test_reader")
queue = data_flow_ops.FIFOQueue(99, [dtypes.string], shapes=())
key, value = reader.read(queue)
@@ -390,6 +419,31 @@ class FixedLengthRecordReaderTest(test.TestCase):
"\\(requested 1, current size 0\\)"):
k, v = sess.run([key, value])
+ def testOneEpochWithHopBytes(self):
+ files = self._CreateOverlappedRecordFiles()
+ with self.test_session() as sess:
+ reader = io_ops.FixedLengthRecordReader(
+ header_bytes=self._header_bytes,
+ record_bytes=self._record_bytes,
+ footer_bytes=self._footer_bytes,
+ hop_bytes=self._hop_bytes,
+ name="test_reader")
+ queue = data_flow_ops.FIFOQueue(99, [dtypes.string], shapes=())
+ key, value = reader.read(queue)
+
+ queue.enqueue_many([files]).run()
+ queue.close().run()
+ for i in range(self._num_files):
+ for j in range(self._num_overlapped_records):
+ k, v = sess.run([key, value])
+ print(v)
+ self.assertAllEqual("%s:%d" % (files[i], j), compat.as_text(k))
+ self.assertAllEqual(self._OverlappedRecord(i, j), v)
+
+ with self.assertRaisesOpError("is closed and has insufficient elements "
+ "\\(requested 1, current size 0\\)"):
+ k, v = sess.run([key, value])
+
class TFRecordReaderTest(test.TestCase):