Pytorch:多个数据集具有多个丢失
我正在使用多个数据集。我有多个损失,每个损失都必须在这些数据集的子集上进行评估。我想从每个数据集生成一个批,并在其所有适当的批上评估每个损失。一些损失是成对的(需要加载对应的数据点对),而其他损失是在单个数据点上计算的。我需要以一种开放的方式来设计它,以方便添加新的数据集。有没有什么pytorch内置的能帮上忙的?在pytorch中设计此项的最佳方式是什么?提前感谢。您的问题不清楚您的设置到底是什么。Pytorch:多个数据集具有多个丢失,pytorch,Pytorch,我正在使用多个数据集。我有多个损失,每个损失都必须在这些数据集的子集上进行评估。我想从每个数据集生成一个批,并在其所有适当的批上评估每个损失。一些损失是成对的(需要加载对应的数据点对),而其他损失是在单个数据点上计算的。我需要以一种开放的方式来设计它,以方便添加新的数据集。有没有什么pytorch内置的能帮上忙的?在pytorch中设计此项的最佳方式是什么?提前感谢。您的问题不清楚您的设置到底是什么。 但是,您可以有多个s实例,每个数据集一个。 在您的数据集之上,您可以实现一个“标记的数据集”,
但是,您可以有多个s实例,每个数据集一个。
在您的数据集之上,您可以实现一个“标记的数据集”,一个为所有样本添加“标记”的数据集:
class TaggedDataset(data.Dataset):
def __init__(dataset, tag):
super(TaggedDataset, self).__init__()
self.ds_ = dataset
self.tag_ = tag
def __len__(self):
return len(self.ds_)
def __getitem__(self, index):
return self.ds_[index], self.tag_
为每个数据集指定一个不同的标记
,将所有数据集合并为一个,并在其周围包装一个常规的数据加载器
现在,在您的培训代码中
for input, label, tag in my_tagged_loader:
# process each input according to the dataset tag it got.
您的问题不清楚您的设置到底是什么。
但是,您可以有多个s实例,每个数据集一个。
在您的数据集之上,您可以实现一个“标记的数据集”,一个为所有样本添加“标记”的数据集:
class TaggedDataset(data.Dataset):
def __init__(dataset, tag):
super(TaggedDataset, self).__init__()
self.ds_ = dataset
self.tag_ = tag
def __len__(self):
return len(self.ds_)
def __getitem__(self, index):
return self.ds_[index], self.tag_
为每个数据集指定一个不同的标记
,将所有数据集合并为一个,并在其周围包装一个常规的数据加载器
现在,在您的培训代码中
for input, label, tag in my_tagged_loader:
# process each input according to the dataset tag it got.