Я использую Keras для моей модели CNN. В этой модели я тренирую это, используя изображения. Мои изображения в форме 256 * 256. Однако я тренировался как 64 * 64. Когда я изменяю размеры моих изображений как 64 * 64 и снова тренируюсь, мой уровень точности резко снижается. Чего мне не хватает?
Когда я размещаю входную форму Convolution2D как
classifier.add(Convolution2D(32,3,3,input_shape = (256,256), activation ='relu'))
Это занимает много времени. Из-за этого я настроил свой Convolution2D как classifier.add(Convolution2D(32,3,3,input_shape = (64,64), activation ='relu'))
и обучил свою первую модель. Это очень хорошо предсказывает.
Когда я изменил размер моих входных изображений как 64 * 64 и тренировался с Convolution2D как
classifier.add(Convolution2D(32,3,3,input_shape = (64,64)
моя точность была уменьшена. В чем проблема?
Вот код
classifier = Sequential()
classifier.add(Convolution2D(32,3,3,input_shape = (64,64,3), activation ='relu'))
classifier.add(MaxPooling2D(pool_size=(2,2)))
classifier.add(Flatten())
classifier.fit_generator(
training_set,
steps_per_epoch=8000,
epochs=10,
validation_data=test_set,
validation_steps=800)
Вот мой код изменения формы
from PIL import Image
import os
path = 'TestForTrain2'
for file in os.listdir('TestForTrain2'):
img = Image.open(os.path.join('TestForTrain2', file))
width, height = img.size
stringName = str(file)
print(width," === ",height)
print(stringName)
f, e = os.path.splitext(path + file)
imResize = img.resize((64, 64), Image.ANTIALIAS)
imResize.save( stringName + '.jpg', 'JPEG', quality=90)