Величина потерь высока при глубоком обучении, а точность меняется примерно на 50%. - PullRequest
0 голосов
/ 17 марта 2020

Я тренирую сеть глубокого обучения, используя предварительно обученный VGG-16. У меня высокие потери около 7-8, а точность около 50%. Я хочу улучшить точность. 1. Не могли бы вы объяснить, правильно ли установлен мой набор данных?

trdata = ImageDataGenerator()
traindata = 
trdata.flow_from_directory(directory="/Users/khand/OneDrive/Desktop/Thesis/Case_db/data",target_size=(224,224))
tsdata = ImageDataGenerator()
testdata = tsdata.flow_from_directory(directory="/Users/khand/OneDrive/Desktop/Thesis/Case_db/data", target_size=(224,224))

Вот как я устанавливаю свой набор данных, и в папке «данные» у меня есть 2 подпапки 1 содержит основные данные, другая содержит метки.

Я думаю, что связь между сетями и уровнями в порядке, так как я могу обучать сеть.

from keras.callbacks import ModelCheckpoint, EarlyStopping
checkpoint = ModelCheckpoint("vgg16_1.h5", monitor='val_acc', verbose=1, save_best_only=True, save_weights_only=False, mode='auto', period=1)
early = EarlyStopping(monitor='val_acc', min_delta=0, patience=20, verbose=1, mode='auto')
hist = model.fit_generator( steps_per_epoch=10,generator=traindata, validation_data= 
testdata,validation_steps=10,epochs=10,callbacks=[ModelCheckpoint('VGG16-transferlearning.model', monitor='val_acc', save_best_only=True)])

Над тем, как проходит моя проверка и обучение, и результат ниже:

Эпоха 1/10 10/10 [=========== ===================] - 253 с 25 с / шаг - потеря: 8.1311 - точность: 0.4437 - val_loss: 7.5554 - val_accuracy: 0.4875 Epoch 2/10 C: \ Пользователи \ khand \ Anaconda3 \ envs \ TensorFlow-GPU \ lib \ site-packages \ keras \ callbacks \ callbacks.py: 707: RuntimeWarning: может сохранить лучшую модель только при наличии val_a cc, пропуская. 'пропуская.' % (self.monitor), RuntimeWarning) 10/10 [==============================] - 255 с 26 с / шаг - потеря: 7.8576 - точность: 0.5000 - val_loss: 5.0369 - val_accuracy: 0.5281 Epoch 3/10 10/10 [================================= ===] - 263 с 26 с / шаг - потеря: 8.0590 - точность: 0.5000 - val_loss: 8.0590 - val_accuracy: 0.5094 Epoch 4/10 10/10 [================== =============] - 258 с 26 с / шаг - потеря: 7.6561 - точность: 0.5250 - val_loss: 7.0517 - val_accuracy: 0.4765 Epoch 5/10 10/10 [======= =======================] - 246 с 25 с / шаг - потеря: 7,9090 - точность: 0,4899 - val_loss: 9.0664 - val_accuracy: 0.5281 Epoch 6/10 10 / 10 [==============================] - 257 с 26 с / шаг - потеря: 7,7065 - точность: 0,5219 - val_loss: 8.5627 - val_accuracy: 0.4812 Epoch 7/10 10/10 [==============================] - 244 с 24 с / шаг - потеря: 7.9079 - точность: 0.5094 - val_loss: 8.5627 - val_accuracy: 0.5031 Epoch 8/10 10/10 [=========================== ===] - 231 с 23 с / шаг - потеря: 8,5147 - точность: 0,4765 - val_loss: 5,5406 - val_ точность: 0,4966 Epoch 9/10 10/10 [==============================] --====] - 251 с 25 с / шаг - потеря: 8.3613 - точность: 0.4812 - val_loss: 5.5406 - val_accuracy: 0.4938 Epoch 10/10 10/10 [============================= =] - 247 с 25 с / шаг - потеря: 8,0087 - точность: 0,5031 - val_loss: 8,5627 - val_accoracy: 0,4906

Если у вас есть предложения, пожалуйста, не стесняйтесь помочь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...