| 1075 | return self |
| 1076 | |
| 1077 | def set_sample_list_generator(self, reader, places=None): |
| 1078 | if isinstance(places, (list, tuple)): |
| 1079 | places = _get_paddle_place_list(places) |
| 1080 | else: |
| 1081 | places = _get_paddle_place(places) |
| 1082 | with program_guard(Program(), Program()): |
| 1083 | feeder = DataFeeder( |
| 1084 | feed_list=self._feed_list, place=core.CPUPlace() |
| 1085 | ) |
| 1086 | |
| 1087 | def decorate_reader(): |
| 1088 | for item in reader(): |
| 1089 | yield feeder.feed(item) |
| 1090 | |
| 1091 | paddle_reader = decorate_reader |
| 1092 | |
| 1093 | def __tensor_reader_impl__(): |
| 1094 | for slots in paddle_reader(): |
| 1095 | yield [slots[var.name] for var in self._feed_list] |
| 1096 | |
| 1097 | self.set_batch_generator(__tensor_reader_impl__, places) |
| 1098 | return self |
| 1099 | |
| 1100 | def set_batch_generator(self, reader, places=None): |
| 1101 | if isinstance(places, (list, tuple)): |