teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

一部修正

2021/05/08 23:47

投稿

toast-uz
toast-uz

スコア3266

answer CHANGED
@@ -22,4 +22,8 @@
22
22
  しかし、転移学習をする元となるpretrainedされた重みパラメータは、ImageNetをもとに224×224サイズに切り出した画像を学習してできたものです。よって、多少のサイズのズレは吸収されると思いますが、大きくズレてしまうと精度が悪くなると思われます。
23
23
 
24
24
  参考: [ImageNetの訓練時の前処理についてまとめた](https://blog.shikoan.com/imagenet-preprocessing/)
25
- ResNetほか代表的モデルの前処理方法を解説しています。単に224×224なら良いというわけではなく、元の前処理の方法をなるべく踏襲しましょう。
25
+ ResNetほか代表的モデルの前処理方法を解説しています。単に224×224なら良いというわけではなく、元の前処理の方法をなるべく踏襲しましょう。
26
+
27
+ なおResNetの記載はデータ拡張を考慮したものですので、推論だけさせる場合はAlexNetの記載にある、「画像の短辺の長さが256になるように画像を再スケーリングし,得られた画像から中央の256×256のパッチを切り取る」で十分です。具体的な前処理コードは以下の記事が参考になります。
28
+
29
+ 参考: [Pytorch – 学習済みモデルで画像分類を行う方法](https://pystyle.info/pytorch-how-to-use-pretrained-model/)

3

一部修正

2021/05/08 23:47

投稿

toast-uz
toast-uz

スコア3266

answer CHANGED
@@ -22,4 +22,4 @@
22
22
  しかし、転移学習をする元となるpretrainedされた重みパラメータは、ImageNetをもとに224×224サイズに切り出した画像を学習してできたものです。よって、多少のサイズのズレは吸収されると思いますが、大きくズレてしまうと精度が悪くなると思われます。
23
23
 
24
24
  参考: [ImageNetの訓練時の前処理についてまとめた](https://blog.shikoan.com/imagenet-preprocessing/)
25
- ResNetほか代表的モデルの前処理方法を解説しています。
25
+ ResNetほか代表的モデルの前処理方法を解説しています。単に224×224なら良いというわけではなく、元の前処理の方法をなるべく踏襲しましょう。

2

補足追記

2021/05/08 23:39

投稿

toast-uz
toast-uz

スコア3266

answer CHANGED
@@ -16,4 +16,10 @@
16
16
 
17
17
  最後の全結合層の手前にあるavgpoolが犯人?で、AdaptiveAvgPool2dが任意のサイズの画像をoutput_sizeにpoolingします。内部的には画像サイズとoutput_sizeとの関係でkernel_sizeを自動調整しています。これにより、任意のサイズの入力に対して動作ができます。
18
18
 
19
+ 参考: [Why AvgPool2d instead of AdaptiveAvgPool2d for ResNet?](https://github.com/HobbitLong/CMC/issues/16)
20
+ PyTorch本家とは直接関係無い派生ソフトの質疑ですが、「なぜわざわざResNetのAdaptiveAvgPool2dを(自動サイズ調整の無い)AvgPool2dに入れ替えたのか?」「224×224の画像しか前提としていないからだ」といったやりとりがあります。
21
+
19
- しかし、転移学習をする元となるpretrainedされた重みパラメータは、ImageNetをもとに224×224サイズに切り出した画像を学習してできたものです。よって、多少のサイズのズレは吸収されると思いますが、大きくズレてしまうと精度が悪くなると思われます。
22
+ しかし、転移学習をする元となるpretrainedされた重みパラメータは、ImageNetをもとに224×224サイズに切り出した画像を学習してできたものです。よって、多少のサイズのズレは吸収されると思いますが、大きくズレてしまうと精度が悪くなると思われます。
23
+
24
+ 参考: [ImageNetの訓練時の前処理についてまとめた](https://blog.shikoan.com/imagenet-preprocessing/)
25
+ ResNetほか代表的モデルの前処理方法を解説しています。

1

一部修正

2021/05/08 23:36

投稿

toast-uz
toast-uz

スコア3266

answer CHANGED
@@ -16,4 +16,4 @@
16
16
 
17
17
  最後の全結合層の手前にあるavgpoolが犯人?で、AdaptiveAvgPool2dが任意のサイズの画像をoutput_sizeにpoolingします。内部的には画像サイズとoutput_sizeとの関係でkernel_sizeを自動調整しています。これにより、任意のサイズの入力に対して動作ができます。
18
18
 
19
- しかし、転移学習をする元となるpretrainedされた重みパラメータは、ImageNet224×224サイズ画像を学習してできたものです。よって、多少のサイズのズレは吸収されると思いますが、大きくズレてしまうと精度が悪くなると思われます。
19
+ しかし、転移学習をする元となるpretrainedされた重みパラメータは、ImageNetをもとに224×224サイズに切り出した画像を学習してできたものです。よって、多少のサイズのズレは吸収されると思いますが、大きくズレてしまうと精度が悪くなると思われます。