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

在训练时,用交叉熵损失函数要进行softmax计算,其data和label需要满足一定的条件:

预测的结果返回的值y要是 tensor,不能是numpy array或者list,所以报错;

我的做法是对程序运行调试模式,看预测返回结果的数据类型是否为tensor。
在这里插入图片描述
从图可知道,binary_final_logits是list,而我需要获取的是binary_final_logits[0]
所以我将binary_segmenatation_loss = criterion(binary_final_logits, binary_labels)改为binary_segmenatation_loss = criterion(binary_final_logits[0], binary_labels)

如果需要对数据进行转换成tensor,可参考下面代码
list 与 tensor

b= torch.Tensor(a)  # b为tensor格斯   a为list格式

参考链接:
https://blog.csdn.net/baoyongshuai1509/article/details/85258428
https://www.cnblogs.com/yeran/p/11121039.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值