in train/datamodules/touch_detect.py [0:0]
def setup(self, stage=None):
train_dataset = DigitFolder(
root=self.cfg.data.path,
exclude=self.cfg.data.exclude,
baseline=None,
transform=self.transform(self.cfg.data.transform, train=True),
)
val_dataset = DigitFolder(
root=self.cfg.data.path,
exclude=self.cfg.data.exclude,
baseline=None,
transform=self.transform(self.cfg.data.transform, train=False),
)
self.dataset_len = len(train_dataset)
dataset_idx = list(range(self.dataset_len))
np.random.shuffle(dataset_idx)
split_train_val = int(
np.floor(self.cfg.training.train_val_ratio * self.dataset_len)
)
self.train_idx, self.val_idx = (
dataset_idx[:split_train_val],
dataset_idx[split_train_val:],
)
_log.info(
f"Total dataset size: {self.dataset_len}, train {len(self.train_idx)}, val {len(self.val_idx)}"
+ f" using sensors {set(train_dataset.serials)}"
)
self.train_dataset = Subset(train_dataset, self.train_idx)
self.val_dataset = Subset(val_dataset, self.val_idx)