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初心者ですので、ご理解の上、間違いがあれば聞いてください。
また、上記のようなことを解決してくれる大御所がいれば。
なぜ最後の型はトーチでなくリストで渡されるのか。
は教えてください、ありがとうございます。
関連
-
[解決済み】Python AttributeError: 'module' オブジェクトには 'SSL_ST_INIT' という属性がありません。
-
[解決済み】Pythonのリストの引き算操作
-
[解決済み] Image.fromarrayは黒い画像を生成するだけです。
-
[解決済み] ドライバが/usr/local/binにあるにもかかわらず、Selenium "Unable to find matching set of capabilities "と表示される。
-
[解決済み] Python 3.7 - asyncio.sleep()とtime.sleep()
-
[解決済み] 辞書のスライス
-
[解決済み] help(foo)のように、Pythonのメソッドシグネチャにあるフォワードスラッシュ「/」の意味を教えてください。重複] [重複] [重複] [重複
-
[解決済み] OpenCVのリマップ機能はどのように使うのですか?
-
[解決済み] sqlalchemyでサブクエリを作成する方法
-
LinearAlgebraError: SVDが収束しなかった(PYTHON)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Pythonのネストループでアスタリスク付きの矩形を印刷する
-
[解決済み】Python名'os'が定義されていません【重複
-
[解決済み] (Python) AttributeError: 'NoneType' オブジェクトには 'text' という属性がありません。
-
[解決済み] TypeError: タプルにしか連結できない("str "ではない) Error
-
[解決済み] Flask のエラー: werkzeug.routing.BuildError
-
[解決済み] tkinterで円を描くより簡単な方法?
-
[解決済み] Python - 辞書内の値の合計
-
[解決済み] 初回実行時のFlask 開発用サーバーを本番環境で使用しないこと
-
[解決済み] ImportError: sqlalchemy という名前のモジュールがありません。
-
UnicodeEncodeError: 'gbk' コーデックは位置 43 の文字 u'\u200e をエンコードできない: 不正なマルチバイト