3

PyTorch で入力データを Linear (Fully Connected Layer) に渡すと、次のエラーが発生します。

matrices expected, got 4D, 2D tensors

入力データの形状が (N、C、H、W) (Convolutional+MaxPool レイヤーから) であるため、問題を完全に理解しています。

  • N: データ サンプル
  • C: データのチャネル
  • H、W: 高さと幅

それにもかかわらず、私は PyTorch がデータ フォームの「再形成」を行うことを期待していました。

  • [ N , D1,...Dn] --> [ N, D] D = D1*D2*....Dn

Variable.data の形状を変更しようとしましたが、グラデーションが前の形状を保持するため、このアプローチは推奨されず、一般に Variable.data 形状を変更すべきではないことを読みました。

フレームワークに沿った簡単な解決策があると確信していますが、見つけられませんでした。

これに対する良い解決策はありますか?

PD: 全結合層は入力サイズとして値 C * H * W を持ちます

4

3 に答える 3