python - Keras:监控 val_loss 以提早停止 - 误报问题
问题描述
estop = EarlyStopping(monitor='val_loss', patience=10)
checkpoint = ModelCheckpoint(filepath, monitor='val_loss', verbose=1, save_best_only=True, mode='max')
reduce_lr_loss = ReduceLROnPlateau(monitor='loss', factor=0.1, patience=2, verbose=1, epsilon=1e-4, mode='min')
history = model.fit_generator(train_manager,validation_data=valid_manager,callbacks=[checkpoint,estop,reduce_lr_loss],use_multiprocessing=True,
epochs=epochs, #steps_per_epoch = seq_len,
verbose=1,
max_queue_size=15)
对于上述代码,监控的 val_loss 据称保持不变。事实并非如此。任何想法为什么会这样?
Epoch 1/20
5155/5155 [==============================] - 207s 40ms/step - loss: 6.3960 - acc: 0.0612 - val_loss: 6.3265 - val_acc: 0.0646
Epoch 00001: val_loss improved from -inf to 6.32651, saving model to weights-improvement-01.hdf5
Epoch 2/20
5155/5155 [==============================] - 207s 40ms/step - loss: 6.2359 - acc: 0.0680 - val_loss: 6.2394 - val_acc: 0.0682
Epoch 00002: val_loss did not improve from 6.32651
Epoch 3/20
5155/5155 [==============================] - 207s 40ms/step - loss: 6.1534 - acc: 0.0712 - val_loss: 6.1957 - val_acc: 0.0702
Epoch 00003: val_loss did not improve from 6.32651
Epoch 4/20
5155/5155 [==============================] - 206s 40ms/step - loss: 6.1023 - acc: 0.0732 - val_loss: 6.1722 - val_acc: 0.0710
Epoch 00004: val_loss did not improve from 6.32651
Epoch 5/20
5155/5155 [==============================] - 207s 40ms/step - loss: 6.0678 - acc: 0.0744 - val_loss: 6.1593 - val_acc: 0.0715
Epoch 00005: val_loss did not improve from 6.32651
Epoch 6/20
5155/5155 [==============================] - 206s 40ms/step - loss: 6.0431 - acc: 0.0752 - val_loss: 6.1525 - val_acc: 0.0720
Epoch 00006: val_loss did not improve from 6.32651
Epoch 7/20
2372/5155 [============>.................] - ETA: 1:32 - loss: 6.0147 - acc: 0.0762
+ Code
+ Markdown
解决方案
您正在使用最小模式,这意味着当监控的数量停止减少时,lr 将减少。
推荐阅读
- python - CountDistinct 基于来自另一列 Pyspark 的条件
- javascript - 值在 return 语句之前是正确的,但在代码的其他部分未定义
- react-router - 路径选项的路由数组与参数有关吗?
- python - Python int 比较在熊猫中无法正常工作
- javascript - 无法测试 expressjs 服务器
- python - Pyparsing DSL 中的递归类型定义
- reactjs - Deck.GL React 散点图图层动画
- django - Django模板自定义过滤器不会改变按钮的大小
- javascript - CORS 策略阻止了对 fetch 的访问
- vba - 为什么在 VBA 中运行按预期工作的代码时出现运行时错误“76”-找不到路径?