@@ -25,7 +25,7 @@ class ReaderException(Exception):
2525 pass
2626
2727
28- class TestMultiprocessReaderException (unittest .TestCase ):
28+ class TestMultiprocessReaderExceptionWithQueueSuccess (unittest .TestCase ):
2929 def setUp (self ):
3030 self .use_pipe = False
3131 self .raise_exception = False
@@ -36,7 +36,7 @@ def places(self):
3636 else :
3737 return [fluid .CPUPlace ()]
3838
39- def main_impl (self , place , iterable , use_legacy_py_reader ):
39+ def main_impl (self , place , iterable ):
4040 sample_num = 40
4141 batch_size = 4
4242
@@ -53,37 +53,25 @@ def __impl__():
5353 return __impl__
5454
5555 with fluid .program_guard (fluid .Program (), fluid .Program ()):
56- if not use_legacy_py_reader :
57- image = fluid .data (
58- name = 'image' , dtype = 'float32' , shape = [None , 10 ])
59-
60- reader = fluid .io .PyReader (
61- feed_list = [image ], capacity = 2 , iterable = iterable )
62- else :
63- reader = fluid .layers .py_reader (
64- capacity = 2 , shapes = [[- 1 , 10 ], ], dtypes = ['float32' , ])
65- image = fluid .layers .read_file (reader )
56+ image = fluid .data (name = 'image' , dtype = 'float32' , shape = [None , 10 ])
57+ reader = fluid .io .DataLoader .from_generator (
58+ feed_list = [image ], capacity = 2 , iterable = iterable )
6659
6760 image_p_1 = image + 1
6861
6962 decorated_reader = multiprocess_reader (
7063 [fake_reader (), fake_reader ()], use_pipe = self .use_pipe )
7164
72- if use_legacy_py_reader :
73- reader .decorate_paddle_reader (
74- fluid .io .batch (
75- decorated_reader , batch_size = batch_size ))
65+ if isinstance (place , fluid .CUDAPlace ):
66+ reader .set_sample_generator (
67+ decorated_reader ,
68+ batch_size = batch_size ,
69+ places = fluid .cuda_places (0 ))
7670 else :
77- if isinstance (place , fluid .CUDAPlace ):
78- reader .decorate_sample_generator (
79- decorated_reader ,
80- batch_size = batch_size ,
81- places = fluid .cuda_places (0 ))
82- else :
83- reader .decorate_sample_generator (
84- decorated_reader ,
85- batch_size = batch_size ,
86- places = fluid .cpu_places ())
71+ reader .set_sample_generator (
72+ decorated_reader ,
73+ batch_size = batch_size ,
74+ places = fluid .cpu_places (1 ))
8775
8876 exe = fluid .Executor (place )
8977 exe .run (fluid .default_startup_program ())
@@ -97,9 +85,9 @@ def __impl__():
9785 for data in reader ():
9886 exe .run (feed = data , fetch_list = [image_p_1 ])
9987 num += 1
100- self .assertEquals (num , batch_num )
88+ self .assertEqual (num , batch_num )
10189 except SystemError as ex :
102- self .assertEquals (num , 0 )
90+ self .assertEqual (num , 0 )
10391 raise ReaderException ()
10492 else :
10593 for _ in range (3 ):
@@ -112,40 +100,40 @@ def __impl__():
112100 except fluid .core .EOFException :
113101 reader .reset ()
114102 self .assertFalse (self .raise_exception )
115- self .assertEquals (num , batch_num )
103+ self .assertEqual (num , batch_num )
116104 except SystemError as ex :
117105 self .assertTrue (self .raise_exception )
118- self .assertEquals (num , 0 )
106+ self .assertEqual (num , 0 )
119107 raise ReaderException ()
120108
121109 def test_main (self ):
122110 for p in self .places ():
123111 for iterable in [False , True ]:
124- use_legacy_py_reader_range = [False
125- ] if iterable else [False , True ]
126- for use_legacy_py_reader in use_legacy_py_reader_range :
127- try :
128- with fluid .scope_guard (fluid .Scope ()):
129- self .main_impl (p , iterable , use_legacy_py_reader )
112+ try :
113+ with fluid .scope_guard (fluid .Scope ()):
114+ self .main_impl (p , iterable )
130115
131- self .assertTrue (not self .raise_exception )
132- except ReaderException :
133- self .assertTrue (self .raise_exception )
116+ self .assertTrue (not self .raise_exception )
117+ except ReaderException :
118+ self .assertTrue (self .raise_exception )
134119
135120
136- class TestCase1 (TestMultiprocessReaderException ):
121+ class TestMultiprocessReaderExceptionWithQueueFailed (
122+ TestMultiprocessReaderExceptionWithQueueSuccess ):
137123 def setUp (self ):
138124 self .use_pipe = False
139125 self .raise_exception = True
140126
141127
142- class TestCase2 (TestMultiprocessReaderException ):
128+ class TestMultiprocessReaderExceptionWithPipeSuccess (
129+ TestMultiprocessReaderExceptionWithQueueSuccess ):
143130 def setUp (self ):
144131 self .use_pipe = True
145132 self .raise_exception = False
146133
147134
148- class TestCase3 (TestMultiprocessReaderException ):
135+ class TestMultiprocessReaderExceptionWithPipeFailed (
136+ TestMultiprocessReaderExceptionWithQueueSuccess ):
149137 def setUp (self ):
150138 self .use_pipe = True
151139 self .raise_exception = True
0 commit comments