fix xpu reader
@@ -224,9 +224,11 @@ class MultiLabelDataset(Dataset):
labels = label_str.split(',')
labels = [int(i) for i in labels]
- return (transform(img, self.ops), np.array(labels).astype("float32"))
+ return (transform(img, self.ops),
+ np.array(labels).astype("float32"))
except Exception as e:
- logger.error("data read failed: {}, exception info: {}".format(line, e))
+ logger.error("data read failed: {}, exception info: {}".format(
+ line, e))
return self.__getitem__(random.randint(0, len(self)))
def __len__(self):
@@ -263,6 +265,7 @@ class Reader:
self.collate_fn = self.mix_collate_fn
self.places = places
+ self.use_xpu = config.get("use_xpu", False)
self.multilabel = config.get("multilabel", False)
def mix_collate_fn(self, batch):
@@ -285,7 +288,16 @@ class Reader:
dataset = MultiLabelDataset(self.params)
else:
dataset = CommonDataset(self.params)
-
+ if (self.params['mode'] != "train") and self.use_xpu:
+ loader = DataLoader(
+ dataset,
+ places=self.places,
+ batch_size=batch_size,
+ drop_last=False,
+ return_list=True,
+ shuffle=False,
+ num_workers=self.params["num_workers"])
+ else:
is_train = self.params['mode'] == "train"
batch_sampler = DistributedBatchSampler(
dataset,
