Simply create one predictor and run it on the DataFlow.
| 56 | |
| 57 | |
| 58 | class SimpleDatasetPredictor(DatasetPredictorBase): |
| 59 | """ |
| 60 | Simply create one predictor and run it on the DataFlow. |
| 61 | """ |
| 62 | def __init__(self, config, dataset): |
| 63 | super(SimpleDatasetPredictor, self).__init__(config, dataset) |
| 64 | self.predictor = OfflinePredictor(config) |
| 65 | |
| 66 | @HIDE_DOC |
| 67 | def get_result(self): |
| 68 | self.dataset.reset_state() |
| 69 | try: |
| 70 | sz = len(self.dataset) |
| 71 | except NotImplementedError: |
| 72 | sz = 0 |
| 73 | with get_tqdm(total=sz, disable=(sz == 0)) as pbar: |
| 74 | for dp in self.dataset: |
| 75 | res = self.predictor(*dp) |
| 76 | yield res |
| 77 | pbar.update() |
| 78 | |
| 79 | |
| 80 | class MultiProcessDatasetPredictor(DatasetPredictorBase): |