欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

使用torchsummary时报错AttributeError: ‘list‘ object has no attribute ‘size‘

程序员文章站 2022-07-02 22:37:28
使用torchsummary时报错AttributeError: 'list' object has no attribute 'size'说明使用代码报错截图查明原因解决方法最后说明因为最近刚开始学pytorch,想输出模型结果来看看,但是他并没有像keras那么简单,就挺苦恼的。但学习的过程从来都不会一帆风顺的,加油吧。使用代码报错截图查明原因首先找到上面截图的红框框,找到torchsummary.py文件中的那一行代码我们输出一下input[0]的类型发现前面传进去的都是tor...

使用torchsummary时报错AttributeError: 'list' object has no attribute 'size'

说明

因为最近刚开始学pytorch,想输出模型结果来看看,但是他并没有像keras那么简单,就挺苦恼的。但学习的过程从来都不会一帆风顺的,加油吧。

使用代码

使用torchsummary时报错AttributeError: ‘list‘ object has no attribute ‘size‘

报错截图

使用torchsummary时报错AttributeError: ‘list‘ object has no attribute ‘size‘

查明原因

首先找到上面截图的红框框,找到torchsummary.py文件中的那一行代码
我们输出一下input[0]的类型
使用torchsummary时报错AttributeError: ‘list‘ object has no attribute ‘size‘
使用torchsummary时报错AttributeError: ‘list‘ object has no attribute ‘size‘
发现前面传进去的都是torch.Tensor类型,最后一个是list,学python的都知道list是没有size属性的,这确实。(这里如果有大佬能解决:为什么最后一个传进去的类型是list的话,应该就可以不用修改以下代码了吧估计

解决方法

反正最终要赋给summary的值是list的形式,即[batch_size,channel,height,width]
那就来个判断,如果是torch.Tensor的话,那就还是按照源码这样写;如果是list类型的话,那就先将他转成numpy.array形式,因为数组是有个shape属性的。
使用torchsummary时报错AttributeError: ‘list‘ object has no attribute ‘size‘

成功输出模型

使用torchsummary时报错AttributeError: ‘list‘ object has no attribute ‘size‘

最后

初学pytorch的小白,如果有什么错误的话请谅解并提出来。
还有就是如果有大佬能解决上面所说的,为什么最后一个传进去的类型是list而不是torch.Tensor的话,请告诉我,谢谢啦。

本文地址:https://blog.csdn.net/huanjin_w/article/details/110858744

相关标签: python 深度学习