Pytorch の Dataloader でもともとの Dataset の index を取得したい

Dataset クラスを継承し__getitem__()メソッドを index を returnするようにオーバーライドする。

class SubClass(Dataset):
    
    略
 
    def __getitem__(self, idx):
        data, target = seld.data[idx]
        return data, target, idx

みたいにして、

dataset = SubClass(...)

for d, t, idx in Dataloader(dataset):
    dataset[idx]

みたいにするとたぶんできる。

  • 参考

https://discuss.pytorch.org/t/how-does-one-obtain-indicies-from-a-dataloader/16847/4

torch.utils.data — PyTorch master documentation