Я немного новичок в caffe, и я получаю странное поведение. Я пытаюсь использовать точную настройку на bvlc_reference_caffenet для выполнения задачи OCR.Сеть Caffe, получающая очень низкие потери, но очень плохая точность при тестировании
Я взял свою предварительно обработанную сеть, изменил последний уровень FC на количество классов выпуска, которые у меня есть, и переучился. После нескольких тысяч итераций я получаю потери в размере ~ .001 и точность более 90 процентов при тестировании сети. Тем не менее, когда я пытаюсь запустить свою сеть по данным, я получаю ужасные результаты, не превышающие 7 или 8 процентов.
код я использую для запуска сети является:
[imports]
net = caffe.Classifier('bvlc_reference_caffenet/deploy.prototxt', 'bvlc_reference_caffenet/caffenet_train_iter_28000.caffemodel',
image_dims=(227, 227, 1))
input_image = caffe.io.load_image('/Training_Processed/6/0.png')
prediction = net.predict([input_image]) # predict takes any number of images, and formats them for the Caffe net automatically
cls = prediction[0].argmax()
Любые мысли о том, почему эта работа может быть настолько бедны?
Спасибо!
PS: Дополнительная информация, которая может быть полезной или непригодной. При классификации, как показано ниже, классификатор, по-видимому, предпочитает определенные классы. Несмотря на то, что у меня проблема с классом 101, мне кажется, что присваивается максимум 15 различных классов.
PPS: Я также уверен, что не перерабатываю. Я тестировал это с моментальными снимками, и все они демонстрируют те же плохие результаты.