torchsummary使用遇到的问题:AttributeError: ‘list‘ object has no attribute ‘size‘解决办法

  • Post author:
  • Post category:其他


使用torchsummary在我的印象中是不会出什么问题的,因为主要就是查看主干网络的输入输出,基本不会出任何问题。

在这里插入图片描述

很不幸,当我使用torchsummary来查看YOLOV5的输出结构时,我遇到了问题:AttributeError: ‘list‘ object has no attribute ‘size‘。

在这里插入图片描述

查看torchsummary的源码,发现处理input的方法都是粗暴使用如下语句:

summary[m_key]["input_shape"] = list(input[0].size())

但是没有考虑到input[0]中的数据是一个list的情况,如下所示:

在这里插入图片描述

解决方案是判定input[0]的类型,如果是list的情况单独进行处理,如下为解决方案。

在这里插入图片描述

解决完这个问题后,又自信的运行,发现问题又来了:在output是一个tuple,并且index【1】是一个list,因此也出现了类似上面的错误,也需要进行更改。

在这里插入图片描述

解决方案如下:注释之前的代码,然后依次判断output里面的每一个数据的类型,针对处理list类型。

在这里插入图片描述

–END–



版权声明:本文为caobin_cumt原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。