我在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()
仅供参考,培训准确度、培训损失、验证准确度和验证损失如下:
epoch | accuracy | loss | 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模型中修改哪些变量以改进模型的训练
目前没有回答
相关问题 更多 >
编程相关推荐