【bug】AttributeError: ‘tuple‘ object has no attribute ‘size‘

目录

前言

报错

提示内容

尝试修改

1. 先检查网络结构的文件

2. debug整个训练过程数据输出的部分

3.  走的弯路 ,可能性

summary的一个bug,需要升级

数据输出类型出错,Tensor或Tuple

数据的输出和输入设置没有对应


前言

之前一个用过的模型,修改了模型主干网络之后报了这个错。

报错

AttributeError: 'tuple' object has no attribute 'size'

这个错误是说在代码中,试图访问一个 tuple 对象的 size 属性,但是 tuple 对象并没有 size 属性。 tuple 是一种不可变的序列类型,它没有 size 属性。

提示内容

按照这个提示,可以知道是计算CE_Loss时,有个数据是tuple形式。先定位到他的位置

这是定义部分

调用部分的代码

可以发现,是outputs的形式出现了问题。

尝试修改

因为这个项目主要改动了主干网络结构

1. 先检查网络结构的文件

打印网络结构,输出发现我的网络结构都是没问题

又测试输出检查数据形式,output也没有问题

2. debug整个训练过程数据输出的部分

发现是因为我的主干里有一个辅助分支输出

在net.py中我直接给定了值为True,但是在训练时train.py中选择了False

所以在训练过程中的outputs是一个有包含两个Tensor的Tuple,但是我的CE_Loss需要的是一个Tensor

修改两者一致即可

3.  走的弯路 ,可能性

顺手总结一下,以后遇到继续添加。

summary的一个bug,需要升级

[已解決][PyTorch] AttributeError: 'tuple' object has no attribute 'size'

pytorch 踩坑之'tuple' object has no attribute 'size'_pytorch tuple

数据输出类型出错,Tensor或Tuple

特征图输出类型 Tensor或Tuple_tuple和tensor

数据的输出和输入设置没有对应

就我这种了

T_T 我太难了

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值