AttributeError: ‘list‘ object has no attribute ‘cuda‘

报错:

 File "/home/xinying/self-supervised-relational-reasoning-master/methods/standard.py", line 81, in linear_evaluation
    if torch.cuda.is_available(): data, target = data.cuda(), target.cuda()
AttributeError: 'list' object has no attribute 'cuda'

列表list没有cuda属性,要转为tensor

target = np.array(target)# list转numpy.array
target = torch.from_numpy(target) # array2tensor

问题解决
完整代码:

class Living_Body_Test(Dataset):
    def __init__(self, test_path,test_transform,**kwds):
        super().__init__()
        self.test_path = test_path
        self.transform = test_transform
        self.imgs = []
        self.targets = []
        fc = open(test_path)
        lines = fc.readlines()
        for line in lines:
            line = line.strip('\n').split(',')
            #print('line',line)
            image_path = line[0]
            target = line[1]
            self.imgs.append(image_path)
            self.targets.append(int(target))


        '''for img in os.listdir(self.img_path):
            img_path = os.path.join(self.img_path, img)
            self.imgs.append(img_path)'''

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

    def __getitem__(self, index):
        #img, target = self.data[index], self.targets[index]
        img = Image.open(self.imgs[index].replace('jinfeng','xinying'))
        target = self.targets[index]
        pic = img
        img = np.array(img)
        #img = cv2.merge([img,img,img])
        #pic = torch.from_numpy(np.array(img))
        #pic = np.array(img)

        img_list = list()
        if self.transform is not None:
            img = self.transform(pic.copy())
            #img_list.append(img_transformed)
        else:
            img_list = None
        target = np.array(target)
        target = torch.from_numpy(target)

        #if self.target_transform is not None:
            #target = self.target_transform(target)
        return img, target

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一位不愿暴露自己的小可爱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值