Python Pytorch之Dataset __getitem__参数理解

**

Python Pytorch之Dataset __getitem__参数理解

**
item就是一个索引,在__getitem__()内使用的时候是随机索引,python的底层会随机分配索引,在函数外面,我们可以指定索引,像是最下面的代码块

 def __init__(self, dataset, idxs):
        self.dataset = dataset
        self.idxs = [int(i) for i in idxs]

    def __len__(self):
        return len(self.idxs)

    def __getitem__(self, item):
        image, label = self.dataset[self.idxs[item]]
        print('\r\n')
        print(item)
        print(self.idxs)
        print(self.idxs[item])
        print(len(self.dataset))
        for k,v in self.dataset:
            print(self.dataset[35524])
            print(self.dataset[self.idxs[item]])
            a = input('请输入a=0 or a=1: \t')
        a = input('请输入a=0 or a=1: \t')
        if a ==1:
            print('执行')
        return torch.tensor(image), torch.tensor(label)
class Student(object):

    def __init__(self, user_dic):
        self.value = user_dic

    def __getitem__(self, item):
        print('__getitem__', item)
        return self.value[item]

    def __setitem__(self, key, value):
        print('__setitem__', key, value)
        self.value[key] = value

    def __delitem__(self, key):
        print('__delitem__', key)
        del self.value[key]

    def __len__(self):
        return len(self.value)

这里放两个代码,请读者自行查看。

你可能感兴趣的:(python,pytorch,python,pytorch)