Во-первых, я должен признать, что я абсолютный новичок в классификации изображений PyTorch и CNN.
Я делаю приложение для классификации пород кошек.
Наборы изображений, которые я собрал, имеют около 300-500 на породу, всего 62 породы, плюс еще один набор, который представляет не-кошек, который содержит 600 образцов. Я разделил образцы на обучение и тестирование соответственно в соотношении 4: 1.
Результаты обучения весьма разочаровывают. Точность обучения может достигать 90%, но результаты тестирования - только 39%.
Вот гиперпараметры:
LR - 0,1, импульс - 0,1, а batch_size - 128, в широких сетях используется 40 слоев с коэффициентом расширения 10.
Пожалуйста, смотрите исходный код по адресу:
https://github.com/silver-xu/wideresnet-trial
Я искал по всему Интернету, и почти 90% статей посвящены предварительно скомпилированным наборам данных, таким как cifar или MNIST. В результате множество кодов, которые я нашел, оптимизировано только для одного типа набора данных.
Спасибо за помощь! Критики также приветствуются!
Вот тренировочный вывод для эпохи 5:
Epoch: [5][0/170] Time 0.237 (0.237) Loss 3.3054 (3.3054) Prec@1 13.281 (13.281)
Epoch: [5][10/170] Time 0.229 (0.228) Loss 3.2665 (3.3118) Prec@1 14.844 (13.920)
Epoch: [5][20/170] Time 0.227 (0.227) Loss 3.0962 (3.2856) Prec@1 17.969 (14.695)
Epoch: [5][30/170] Time 0.228 (0.227) Loss 3.3670 (3.2853) Prec@1 10.938 (14.844)
Epoch: [5][40/170] Time 0.229 (0.227) Loss 3.3259 (3.2917) Prec@1 15.625 (15.282)
Epoch: [5][50/170] Time 0.228 (0.227) Loss 3.2016 (3.2931) Prec@1 14.844 (14.859)
Epoch: [5][60/170] Time 0.227 (0.227) Loss 3.3739 (3.3071) Prec@1 11.719 (14.677)
Epoch: [5][70/170] Time 0.227 (0.227) Loss 3.4417 (3.3042) Prec@1 15.625 (14.833)
Epoch: [5][80/170] Time 0.226 (0.227) Loss 3.2507 (3.2996) Prec@1 10.938 (14.911)
Epoch: [5][90/170] Time 0.224 (0.227) Loss 3.2627 (3.2978) Prec@1 14.844 (15.093)
Epoch: [5][100/170] Time 0.226 (0.227) Loss 3.3668 (3.2946) Prec@1 14.062 (15.060)
Epoch: [5][110/170] Time 0.225 (0.227) Loss 3.2839 (3.2915) Prec@1 10.156 (14.921)
Epoch: [5][120/170] Time 0.227 (0.227) Loss 3.3308 (3.2906) Prec@1 11.719 (14.837)
Epoch: [5][130/170] Time 0.224 (0.227) Loss 3.1656 (3.2885) Prec@1 21.875 (14.909)
Epoch: [5][140/170] Time 0.226 (0.227) Loss 3.2521 (3.2851) Prec@1 20.312 (14.966)
Epoch: [5][150/170] Time 0.227 (0.227) Loss 3.1261 (3.2825) Prec@1 14.844 (14.989)
Epoch: [5][160/170] Time 0.227 (0.227) Loss 3.4400 (3.2802) Prec@1 10.938 (15.018)
Test: [0/43] Time 0.262 (0.262) Loss 3.6978 (3.6978) Prec@1 8.594 (8.594)
Test: [10/43] Time 0.074 (0.091) Loss 3.3584 (3.3736) Prec@1 17.188 (13.139)
Test: [20/43] Time 0.074 (0.083) Loss 3.3834 (3.4058) Prec@1 12.500 (12.537)
Test: [30/43] Time 0.074 (0.080) Loss 3.4457 (3.3994) Prec@1 14.844 (12.802)
Test: [40/43] Time 0.074 (0.079) Loss 3.2851 (3.3946) Prec@1 16.406 (13.281)
* Prec@1 13.130