关于张量存储到list中报错:AttributeError: 'Tensor' object has no attribute 'append'

代码部分


        data = []
        for n in range(3, 11, 2):
            for i in range(0, n, 2):
                image = Image.open(img_path_list[i]).convert('RGB')
                data.append(torch.unsqueeze(self.transforms(image), dim=0))
            for i in range(1, n - 1, 2):
                image = Image.open(img_path_list[i]).convert('1')
                image = np.array(image)
                image = np.expand_dims(image,axis=2)
                image = np.concatenate((image, image, image), axis=-1)
                data.append(torch.unsqueeze(self.transforms(image), dim=0))
            data = torch.cat(data, 0)  # torch.cat是将两个张量(tensor)拼接在一起
            label = Image.open(img_path_list[n])
            label = torch.squeeze(self.transforms(label))
        sample = {'data': data, 'label': label}
        return sample

报错

AttributeError: 'Tensor' object has no attribute 'append' 

是哪里的问题?如何解决这个报错呢?

data = torch.cat(data, 0) 这一行后data是个tensor对象了,后面再for循环时候不是list 也就不能append,可以等for结束后再执行这个拼接

data = torch.cat(data, 0)
data原本是列表,在这行类型被修改了。

能将你这个类完整代码发一下吗