pytorch Dataset.__getitem__ 是否必须返回一个字典?

Cut*_*son 10 python pytorch

编辑:这不是关于一般方法,而是关于Pytorch 数据集子类中__getitem__的用法,正如 @dataista 正确指出的那样。__getitem__

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

uke*_*emi 3

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

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

请注意,不要求您返回两个值 - 在许多无监督上下文(例如自动编码器)中,只有一组特征,没有明确的目标。