1. ホーム
  2. python

AttributeError: torchsummary を使用した場合、'list' オブジェクトに 'size' 属性がない。

2022-02-09 13:03:14
<パス

torchsummary を使用してエラーを報告する AttributeError: 'list' オブジェクトには 'size' という属性がありません。

説明

最近pytorchを学び始めたばかりなので、モデルの結果を出力して見たいのですが、kerasのように単純ではないので、かなり悩んでいます。でも、学習は決して簡単ではないので、頑張ってください。

コードの使用

エラー報告画面

原因の特定

まず上のスクリーンショットで赤いボックスを見つけて、torchsummary.py ファイル内のコード行を探します。
input[0]の型を出力しています。


テンソル型、最後はlistですが、pythonの学習ではlistはsizeプロパティがないことが知られていますが、これは確かにそうです。(その なぜ最後がリストなのか、という問題を解決できる人がいれば、以下のコードを修正すれば何とかなるはずです。 )

解決方法

要約に割り当てる最終的な値は、とにかくリストの形式、つまり [batch_size,channel,height,width] とします。
そして、torch.Tensorであれば、ソースコードにこのように書かれたままです。リスト型であれば、配列にはshapeプロパティがあるので、まずnumpy.array形式に変換してあげましょう。

出力成功モデル

最後の

pytorch初心者ですので、ご理解の上、間違いがあれば聞いてください。
また、上記のようなことを解決してくれる大御所がいれば。 なぜ最後の型はトーチでなくリストで渡されるのか。 は教えてください、ありがとうございます。