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

使用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–

猜你喜欢

转载自blog.csdn.net/caobin_cumt/article/details/131125781