|  |  | @ -11,9 +11,10 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |  |  |  | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
			
		
	
		
		
			
				
					
					|  |  |  | # See the License for the specific language governing permissions and |  |  |  | # See the License for the specific language governing permissions and | 
			
		
	
		
		
			
				
					
					|  |  |  | # limitations under the License. |  |  |  | # limitations under the License. | 
			
		
	
		
		
			
				
					
					|  |  |  | import unittest |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | import paddle.reader |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | import time |  |  |  | import time | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import unittest | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import paddle.v2.reader | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | def reader_creator_10(dur): |  |  |  | def reader_creator_10(dur): | 
			
		
	
	
		
		
			
				
					|  |  | @ -37,7 +38,7 @@ class TestMap(unittest.TestCase): | 
			
		
	
		
		
			
				
					
					|  |  |  |             yield "h" |  |  |  |             yield "h" | 
			
		
	
		
		
			
				
					
					|  |  |  |             yield "i" |  |  |  |             yield "i" | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         r = paddle.reader.map_readers(tokenize, read) |  |  |  |         r = paddle.v2.reader.map_readers(tokenize, read) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         for i, e in enumerate(r()): |  |  |  |         for i, e in enumerate(r()): | 
			
		
	
		
		
			
				
					
					|  |  |  |             self.assertEqual(e, i) |  |  |  |             self.assertEqual(e, i) | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -45,7 +46,7 @@ class TestMap(unittest.TestCase): | 
			
		
	
		
		
			
				
					
					|  |  |  | class TestBuffered(unittest.TestCase): |  |  |  | class TestBuffered(unittest.TestCase): | 
			
		
	
		
		
			
				
					
					|  |  |  |     def test_read(self): |  |  |  |     def test_read(self): | 
			
		
	
		
		
			
				
					
					|  |  |  |         for size in range(20): |  |  |  |         for size in range(20): | 
			
		
	
		
		
			
				
					
					|  |  |  |             b = paddle.reader.buffered(reader_creator_10(0), size) |  |  |  |             b = paddle.v2.reader.buffered(reader_creator_10(0), size) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             c = 0 |  |  |  |             c = 0 | 
			
		
	
		
		
			
				
					
					|  |  |  |             for i in b(): |  |  |  |             for i in b(): | 
			
		
	
		
		
			
				
					
					|  |  |  |                 self.assertEqual(i, c) |  |  |  |                 self.assertEqual(i, c) | 
			
		
	
	
		
		
			
				
					|  |  | @ -54,7 +55,7 @@ class TestBuffered(unittest.TestCase): | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     def test_buffering(self): |  |  |  |     def test_buffering(self): | 
			
		
	
		
		
			
				
					
					|  |  |  |         # read have 30ms delay. |  |  |  |         # read have 30ms delay. | 
			
		
	
		
		
			
				
					
					|  |  |  |         b = paddle.reader.buffered(reader_creator_10(0.03), 10) |  |  |  |         b = paddle.v2.reader.buffered(reader_creator_10(0.03), 10) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         last_time = time.time() |  |  |  |         last_time = time.time() | 
			
		
	
		
		
			
				
					
					|  |  |  |         for idx, i in enumerate(b()): |  |  |  |         for idx, i in enumerate(b()): | 
			
		
	
		
		
			
				
					
					|  |  |  |             elapsed_time = time.time() - last_time |  |  |  |             elapsed_time = time.time() - last_time | 
			
		
	
	
		
		
			
				
					|  |  | @ -68,17 +69,17 @@ class TestBuffered(unittest.TestCase): | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | class TestCompose(unittest.TestCase): |  |  |  | class TestCompose(unittest.TestCase): | 
			
		
	
		
		
			
				
					
					|  |  |  |     def test_compse(self): |  |  |  |     def test_compse(self): | 
			
		
	
		
		
			
				
					
					|  |  |  |         reader = paddle.reader.compose( |  |  |  |         reader = paddle.v2.reader.compose( | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             reader_creator_10(0), reader_creator_10(0)) |  |  |  |             reader_creator_10(0), reader_creator_10(0)) | 
			
		
	
		
		
			
				
					
					|  |  |  |         for idx, e in enumerate(reader()): |  |  |  |         for idx, e in enumerate(reader()): | 
			
		
	
		
		
			
				
					
					|  |  |  |             self.assertEqual(e, (idx, idx)) |  |  |  |             self.assertEqual(e, (idx, idx)) | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     def test_compose_not_aligned(self): |  |  |  |     def test_compose_not_aligned(self): | 
			
		
	
		
		
			
				
					
					|  |  |  |         total = 0 |  |  |  |         total = 0 | 
			
		
	
		
		
			
				
					
					|  |  |  |         reader = paddle.reader.compose( |  |  |  |         reader = paddle.v2.reader.compose( | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             paddle.reader.chain(reader_creator_10(0), reader_creator_10(0)), |  |  |  |             paddle.v2.reader.chain(reader_creator_10(0), reader_creator_10(0)), | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             reader_creator_10(0)) |  |  |  |             reader_creator_10(0)) | 
			
		
	
		
		
			
				
					
					|  |  |  |         with self.assertRaises(paddle.reader.ComposeNotAligned): |  |  |  |         with self.assertRaises(paddle.v2.reader.ComposeNotAligned): | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             for e in reader(): |  |  |  |             for e in reader(): | 
			
		
	
		
		
			
				
					
					|  |  |  |                 total += 1 |  |  |  |                 total += 1 | 
			
		
	
		
		
			
				
					
					|  |  |  |         # expecting 10, not 20 |  |  |  |         # expecting 10, not 20 | 
			
		
	
	
		
		
			
				
					|  |  | @ -86,8 +87,8 @@ class TestCompose(unittest.TestCase): | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     def test_compose_not_aligned_no_check(self): |  |  |  |     def test_compose_not_aligned_no_check(self): | 
			
		
	
		
		
			
				
					
					|  |  |  |         total = 0 |  |  |  |         total = 0 | 
			
		
	
		
		
			
				
					
					|  |  |  |         reader = paddle.reader.compose( |  |  |  |         reader = paddle.v2.reader.compose( | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             paddle.reader.chain(reader_creator_10(0), reader_creator_10(0)), |  |  |  |             paddle.v2.reader.chain(reader_creator_10(0), reader_creator_10(0)), | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             reader_creator_10(0), |  |  |  |             reader_creator_10(0), | 
			
		
	
		
		
			
				
					
					|  |  |  |             check_alignment=False) |  |  |  |             check_alignment=False) | 
			
		
	
		
		
			
				
					
					|  |  |  |         for e in reader(): |  |  |  |         for e in reader(): | 
			
		
	
	
		
		
			
				
					|  |  | @ -98,7 +99,7 @@ class TestCompose(unittest.TestCase): | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | class TestChain(unittest.TestCase): |  |  |  | class TestChain(unittest.TestCase): | 
			
		
	
		
		
			
				
					
					|  |  |  |     def test_chain(self): |  |  |  |     def test_chain(self): | 
			
		
	
		
		
			
				
					
					|  |  |  |         c = paddle.reader.chain(reader_creator_10(0), reader_creator_10(0)) |  |  |  |         c = paddle.v2.reader.chain(reader_creator_10(0), reader_creator_10(0)) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         idx = 0 |  |  |  |         idx = 0 | 
			
		
	
		
		
			
				
					
					|  |  |  |         for e in c(): |  |  |  |         for e in c(): | 
			
		
	
		
		
			
				
					
					|  |  |  |             self.assertEqual(e, idx % 10) |  |  |  |             self.assertEqual(e, idx % 10) | 
			
		
	
	
		
		
			
				
					|  |  | @ -111,7 +112,7 @@ class TestShuffle(unittest.TestCase): | 
			
		
	
		
		
			
				
					
					|  |  |  |         case = [(0, True), (1, True), (10, False), (100, False)] |  |  |  |         case = [(0, True), (1, True), (10, False), (100, False)] | 
			
		
	
		
		
			
				
					
					|  |  |  |         a = reader_creator_10(0) |  |  |  |         a = reader_creator_10(0) | 
			
		
	
		
		
			
				
					
					|  |  |  |         for size, checkEq in case: |  |  |  |         for size, checkEq in case: | 
			
		
	
		
		
			
				
					
					|  |  |  |             s = paddle.reader.shuffle(a, size) |  |  |  |             s = paddle.v2.reader.shuffle(a, size) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             total = 0 |  |  |  |             total = 0 | 
			
		
	
		
		
			
				
					
					|  |  |  |             for idx, e in enumerate(s()): |  |  |  |             for idx, e in enumerate(s()): | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if checkEq: |  |  |  |                 if checkEq: |