問題
https://qiita.com/sheep96/items/0c2c8216d566f58882aa
を参考に画像分類プログラムを作っているのですが,
x = x.view(-1, 4)の箇所で
RuntimeError: size mismatch, m1: [54080 x 4], m2: [500 x 100]
というエラーが出ます。
これを解決したいです。
試したこと
https://stackoverflow.com/questions/53500838/pytorch-runtimeerror-size-mismatch-m1-1-x-7744-m2-400-x-120
を参考にx.viewの直前に
x = F.interpolate(x, size=(5, 5), mode='bilinear')
を挿入しましたが,適切なsizeの定義の仕方がわからず,size mismatchが起こります。
また,入力画像自体の要素数を調整すればいいのかと思い,tensorの圧縮の仕方などを調べましたがいまいち要領を得ず,またこれが正しい方法なのかもわかりません。
コード
Python
1class Net(nn.Module): 2 def __init__(self): 3 super(Net, self).__init__() 4 self.conv1 = nn.Conv2d(3, 10, kernel_size=5) 5 self.conv2 = nn.Conv2d(10, 20, kernel_size=5) 6 self.conv2_drop = nn.Dropout2d() 7 self.fc1 = nn.Linear(500, 100) 8 self.fc = nn.Linear(100, 34) 9 10 def forward(self, x): 11 x = F.relu(F.max_pool2d(self.conv1(x), 2)) 12 x = F.relu(F.max_pool2d(self.conv2_drop(self.conv2(x)), 2)) 13 ---->>x = x.view(-1, 4) 14 x = F.relu(self.fc1(x)) 15 x = F.dropout(x, training=self.training) 16 x = self.fc2(x) 17 return F.log_softmax(x, dim=1)
環境
macOS Mojave 10.14.5
Python 3.7.3
anaconda3-5.3.1
pyenv
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。