我是一名有用的助手,可以为您翻译文本。
我正在尝试使用Pytorch数据加载器来定义自己的数据集,但我不确定如何加载多个数据源:
我的当前代码:
数据源位于
由于数据集非常大,我在拆分它们并避免直接合并它们之前进行了处理。
如何将它们加载到单个数据加载器中?
我正在尝试使用Pytorch数据加载器来定义自己的数据集,但我不确定如何加载多个数据源:
我的当前代码:
class MultipleSourceDataSet(Dataset):
def __init__ (self, json_file, root_dir, transform = None):
with open(root_dir + 'block0.json') as f:
self.result = torch.Tensor(json.load(f))
self.root_dir = root_dir
self.transform = transform
def __len__(self):
return len(self.result[0])
def __getitem__ (self):
None
数据源位于
root_dir = ~/Documents/blocks/
下方50个块。由于数据集非常大,我在拆分它们并避免直接合并它们之前进行了处理。
如何将它们加载到单个数据加载器中?
json
文件,而是从它们派生出的数据集。 - ShaiConcatDataset
的问题在于它无法与多进程一起使用。它会在初始化时对其中每个数据集调用len(ds)
,因此最终会在主进程中加载所有数据集。 - Thomas Ahle