繁体   English   中英

Keras log_loss错误是一样的

[英]Keras log_loss error is same

我是keras和深度学习的新手。当我创建一个示例基本模型时,我适合它并且我的模型的日志损失总是相同的。

model = Sequential()
model.add(Convolution2D(32, 3, 3, border_mode='same', init='he_normal',
                        input_shape=(color_type, img_rows, img_cols)))
model.add(MaxPooling2D(pool_size=(2, 2), dim_ordering="th"))
model.add(Dropout(0.5))
model.add(Convolution2D(64, 3, 3, border_mode='same', init='he_normal'))
model.add(MaxPooling2D(pool_size=(2, 2), dim_ordering="th")) #this part is wrong
model.add(Dropout(0.5))

model.add(Convolution2D(128, 3, 3, border_mode='same', init='he_normal'))
model.add(MaxPooling2D(pool_size=(2, 2), dim_ordering="th"))
model.add(Dropout(0.5))

model.add(Flatten())
model.add(Dense(10))
model.add(Activation('softmax'))

model.compile(Adam(lr=1e-3), loss='categorical_crossentropy')


model.fit(x_train, y_train, batch_size=64, nb_epoch=200,
               verbose=1, validation_data=(x_valid,y_valid))

对17939个样本进行培训,对4485个样本进行验证

Epoch 1/200 17939/17939 [==============================] - 8s - 损失:99.8137 - acc:0.3096 - val_loss:99.9626 - val_acc:0.0000e + 00

Epoch 2/200 17939/17939 [==============================] - 8s - 损失:99.8135 - acc:0.2864 - val_loss:99.9626 - val_acc:0.0000e + 00

Epoch 3/200 17939/17939 [==============================] - 8s - 损失:99.8135 - acc:0.3120 - val_loss:99.9626 - val_acc:1.0000

Epoch 4/200 17939/17939 [==============================] - 10s - 损失:99.8135 - acc:0.3315 - val_loss:99.9626 - val_acc:1.0000

Epoch 5/200 17939/17939 [==============================] - 10s - 损失:99.8138 - acc:0.3435 - val_loss:99.9626 - val_acc:0.4620

..

...

就是这样

你知道我做错了吗?

这种行为的一个原因可能是学习率太低。 尝试使用Adam(lr=1e-2)Adam(lr=1e-1)来提高学习率。 此外,等待几次迭代(epochs)并查看它是否有所改进。 如果没有,您可以尝试减少辍学率。 另外,如果您还没有完成输入数据,我建议您将其标准化。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM