执行pytorch数据集__getitem__必须返回dict



EDIT:这不是关于一般的__getitem__方法,而是关于__getitem__在Pytorch Dataset子类中的使用,正如@dataista正确指出的那样。

我正在尝试实现Pytorchs数据集类的用法。这里的指南(例如(真的很好,但我很难弄清楚Pytorch对__getitem__返回值的要求。在Pytorch文档中,我找不到任何关于它应该返回的内容;它是任何大小为2的可迭代对象吗,例如[sample,target], (sample,target)?在一些指南中,他们返回了一个dict,但没有指定是否有作为返回的dict。

PyTorch对DataSet的__getitem__方法的返回值没有要求。它可以是任何东西,但你通常会遇到张量、张量元组、字典(例如{'features':..., 'label':...}(等。

在2d数据中,通常返回一个张量,其最后一列是目标值,但同样,您可能会看到特征和目标的元组/dicts被明确分离。

请注意,不需要返回两个值——在许多无监督的上下文中(例如,自动编码器(,只有一组功能,没有不同的目标。

最新更新