random_split 之后如何更改数据集中的目标?
我有一个用于训练和测试的数据集,如下所示,
dataset['train'], dataset['test'] = torch.utils.data.random_split(dataset_all, [num_train,num_test],
generator=torch.Generator().manual_seed(random_seed))
有什么好的方法可以通过提供索引来更改目标并检索某些数据集吗? 现在,我使用列表这种方式只是为了获取标签==0的数据集,
dataloader['train'] = torch.utils.data.DataLoader(dataset['train'], batch_size=len(dataset['train']), num_workers=4)
inputs, labels = next(iter(dataloader['train']))
x_train = inputs[np.where(labels==0)]
y_train = labels[np.where(labels==0)]
data_train = My_Dataset(x_train, y_train, transform=None)
当数据集大小太大时,这种方式会花费大量时间和内存。
I have a dataset for train and test as follows,
dataset['train'], dataset['test'] = torch.utils.data.random_split(dataset_all, [num_train,num_test],
generator=torch.Generator().manual_seed(random_seed))
Is there any good way to change targets and retrieve certain dataset by providing index?
Right now, I am using list this way only to get dataset for labels==0
dataloader['train'] = torch.utils.data.DataLoader(dataset['train'], batch_size=len(dataset['train']), num_workers=4)
inputs, labels = next(iter(dataloader['train']))
x_train = inputs[np.where(labels==0)]
y_train = labels[np.where(labels==0)]
data_train = My_Dataset(x_train, y_train, transform=None)
This way takes lots of time and memory when the size of dataset is too large.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论