Почему точность моей модели NA SNet не улучшается во время обучения? - PullRequest
0 голосов
/ 19 июня 2020

Я настроил следующую модель в keras, однако, когда я тренируюсь, точность модели почти не увеличивается:

from keras.applications.nasnet import NASNetLarge
from keras.optimizers import SGD

base_model = NASNetLarge(weights='imagenet', include_top=True)

x = base_model.layers[-6].output
x = Flatten(name='FLATTEN')(x)
x = Dense(256, activation='relu', name='last_FC1')(x)  # let's add a fully-connected layer
x = Dropout(0.5, name='DROPOUT')(x) # Dropout layer so the visualisations are done properly
predictions = Dense(len(classes), activation='softmax', name='PREDICTIONS')(x)
model = Model(input=base_model.input, outputs=predictions)

for layer in model.layers[:-290]:
    layer.trainable = False

model.compile(optimizer=SGD(lr=0.0001, momentum=0.9),
                  loss='categorical_crossentropy',
                  metrics=['accuracy'])
model.summary()

FYI, точность обучения, потеря обучения, точность проверки и потеря проверки составляет следующим образом:

эпоха | точность | потеря | val_accuracy | val_loss

0 | 0.5149105 | 60.32275529 | 0.463636369 | 0.693147182

1 | 0.51292247 | 0.693200452 | 0.53694582 | 0,695120037

2 | 0.528827 | 0.692723821 | 0.532019675 | 0,689894736

3 | 0.53677934 | 0.692179034 | 0.551724136 | 0,695185542

4 | 0.53479123 | 0.69184255 | 0.453201979 | 0.696151495

5 | 0.54075545 | 0.69120561 | 0.571428597 | 0.693781257

6 | 0.5149105 | 0.69272005 | 0.541871905 | 0.70132494

7 | 0.528827 | 0.69375147 | 0.566502452 | 0.693984807

Может ли кто-нибудь предложить, какие переменные мне следует изменить в вышеупомянутом коде, чтобы улучшить обучение?

Как узнать, какие переменные следует изменить в модели Keras, чтобы улучшить обучение модели?

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