今までもPyTorchやfast.aiを使ってImage Classificationを行ってきました。
1つ気になったのが、trainingに使う画像が大きいと、それだけデータ量も多いのだから精度も良くなるのではと言う単純な思いです。そこで確認してみました。
テストの条件は、
・データセットはcifar-10。cifar-10はライブラリーにもありますが、ここでは一度cifar-10をpng形式の画像データに変換したものを使いました。
・fast.aiを使ってresnet18でfine-tuningする。
・DataLoaderは簡単に下記のようにしました。この設定を取敢えずnormal設定とします。
画像サイズは、元の32,64,96,128,224の7種類で検証
dls=ImageDataLoaders.from_folder(
path,
train='train',
valid='val',
bs = 64,
item_tfms=Resize(160), ⇒ここでサイズを32~224に変更する
batch_tfms=aug_transforms(),
seed=123
)
cifar10の32pixのデータ画像
【結果】
32pixの例
epoch | train_loss | valid_loss | accuracy | time |
---|---|---|---|---|
0 | 1.177662 | 1.065685 | 0.623600 | 01:40 |
1 | 0.939181 | 0.855866 | 0.701900 | 01:42 |
2 | 0.814138 | 0.735728 | 0.749200 | 01:42 |
3 | 0.717646 | 0.644304 | 0.780900 | 01:41 |
4 | 0.626932 | 0.606330 | 0.792600 | 01:42 |
5 | 0.603102 | 0.593075 | 0.800500 | 01:42 |
6 | 0.515081 | 0.554430 | 0.811000 | 01:42 |
7 | 0.488168 | 0.554170 | 0.811900 | 01:43 |
8 | 0.439875 | 0.549919 | 0.816700 | 01:43 |
9 | 0.449361 | 0.546851 | 0.816900 | 01:44 |
32~224pixでtrainingした結果は次の通りでした。
0 件のコメント:
コメントを投稿