Skip to content

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

之前,我曾經寫過一篇文章敘述我如何印出我使用 PyTorch 搭建的模型架構,具體連結可以參考文末。但是開心了沒多久,過了一段時間後,當我又要使用這項工具來繪製另一個全新的模型架構準備報告的同時,我卻得到了以下這樣的報錯:

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

所幸一查之下,馬上發現有人跟我擁有同樣的錯誤、同樣是在 LSTM 模型層下、同樣是在設定為 batch_size=True 的情況。

在使用推薦的工具之後,我的問題確實獲得了解決,成功繪製出 LSTM 的模型了。看 Github issue 的討論,看起來是版本問題。

順手在 Blog 留下紀錄,也許我在搬遷了環境之後會再次需要也說不一定 —— 不過最近我發現人類是善變的動物,我似乎又有發現了更加漂亮的套件可以用來印出 PyTorch 模型架構了。

人類真是可悲的動物 XDDD —— 永遠都在挑選更好看的桌布。


解決方法

首先,來到這個 Github: https://github.com/Bond-H/pytorch-summary

然後將其 Clone 下來:

git clone https://github.com/Bond-SYSU/pytorch-summary

裡面的架構如下:

我們所需要的,便是資料夾 “torchsummary”。將其移動至你專案所需要的目錄底下,再次使用如下程式碼便可以繪製出模型了。

from torchsummary import summary
summary(your_model, input_size=(channels, H, W))



這個方法解決了我的報錯,可以嘗試看看。


References


Read More

Leave a Reply