我试图通过模型来区分7种不同的情绪。我正在使用keras的VGG16模型。我已经删除了最后一个&soft;' softmax'图层(来自最初的架构)并引入了我的softmax图层,共有7个类。我使用过RMSprop优化器。 但是,在拟合时,每个时代的损失都是纳米。我不明白这个错误。提前致谢。 这是我的代码片段。 (假设我已经导入了所有必需的库)
model_use = keras.applications.vgg16.VGG16()
model= Sequential()
for layer in model_use.layers:
model.add(layer)
model.layers.pop()
for layer in model.layers:
layer.trainable = False
model.add(Dense(7, activation='softmax', name='pred',kernel_initializer='random_uniform'))
#Now I imported the training and testing data into images, labels
X_train, X_test, Y_train, Y_test = train_test_split(images, labels, test_size=0.2, random_state=1)
datagen = ImageDataGenerator(
featurewise_center=True,
featurewise_std_normalization=True,
rotation_range=20,
width_shift_range=0.2,
height_shift_range=0.2,
horizontal_flip=True)
datagen.fit(X_train)
model.compile(RMSprop(lr=1e-4),loss="categorical_crossentropy",metrics=["accuracy"])
model.fit_generator(datagen.flow(X_train, Y_train, batch_size=32),verbose = 2 ,steps_per_epoch=int(len(X_train) / 32), epochs=10)
但输出结果是:
Epoch 1/10
- 180s - loss: nan - acc: 0.1500
我将代码运行到10个时代,但损失仍然是纳米。