Saya menggunakan python 3 dan ketika saya memasukkan transform random crop size 224 itu memberikan kesalahan miss match.

di sini kode saya

Apa aku salah?

0
ABCD 4 Maret 2019, 07:42

1 menjawab

Jawaban Terbaik

Kode Anda membuat variasi pada resnet: Anda mengubah jumlah saluran, jumlah kemacetan di setiap "tingkat", dan Anda menghapus "tingkat" seluruhnya. Akibatnya, dimensi peta fitur yang Anda miliki di akhir layer3 bukan 64: Anda memiliki dimensi spasial yang lebih besar daripada yang Anda perkirakan oleh nn.AvgPool2d(8). Pesan kesalahan yang Anda dapatkan sebenarnya memberi tahu Anda bahwa output dari level3 berbentuk 64x56x56 dan setelah rata-rata pooling dengan kernel dan stride 8 Anda memiliki 64x7x7=3136 vektor fitur dimensi, alih-alih hanya 64 yang Anda harapkan.

Apa yang bisa kamu lakukan?
Berbeda dengan resnet "standar", Anda menghapus langkah dari conv1 dan Anda tidak memiliki kumpulan maksimal setelah conv1. Selain itu, Anda menghapus layer4 yang juga memiliki langkah. Oleh karena itu, Anda dapat menambahkan penyatuan ke jaring Anda untuk mengurangi dimensi spasial layer3.
Atau, Anda dapat mengganti nn.AvgPool(8) dengan nn.AdaptiveAvgPool2d([1, 1]) kumpulan rata-rata yang hanya mengeluarkan satu fitur terlepas dari dimensi spasial peta fitur masukan.

3
Shai 4 Maret 2019, 07:12