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 を持ちます