我目前正在尝试使用PyTorch的DataLoader训练深度学习模型。
现在,我将一个数据集对象用于训练和测试集。我只是创建一个Dataset
类,然后在其中创建self.train
和self.test
。调用培训和测试数据时,我会这样做
dataset = Dataset()
train = dataset.train
test = dataset.test
在训练和测试模型时,我尝试使用自定义DataLoader
对象,但不确定如何声明两个用于训练和测试的Dataloader。我的困惑主要是由于__len__
和__getitem__
的长度不同时,如何在Dataset类中声明train
和test
钩子方法。
如果我分别为train
和test
创建两个单独的数据集对象,那么就不成问题了,只需执行以下操作即可:
def __len(self)__:
return self.data.shape[0]
但是我希望使用一个Dataset对象,并且想知道是否有一种方法可以做到这一点。