在迭代中访问学习的权重 - keras或tensorflow

时间:2017-09-29 07:56:37

标签: tensorflow keras

在大约1000次迭代和大约20次迭代的频率之后,我看到acc和val_acc从0开始增加一次迭代,然后返回0进行下一次迭代:

5s - loss: 2.0677 - acc: 0.1345 - val_loss: 3.0170 - val_acc: 0.0000e+00
Epoch 180/3000

5s - loss: 2.0821 - acc: 0.1426 - val_loss: 3.0052 - val_acc: 0.6520
Epoch 181/3000

5s - loss: 2.0755 - acc: 0.1202 - val_loss: 3.0405 - val_acc: 0.0000e+00

因为我想学习val_cc更大的重量>我可以在特定的迭代中访问权重参数50%,在这种情况下acc为0.1426且val_acc为0.6520?

替代方案是keras支持在指定acc时保存模型权重& val_acc条件是我吗?

更新:

降低学习率后:

Epoch 7562/300000
1s - loss: 0.7599 - acc: 0.6968 - val_loss: 0.2335 - val_acc: 0.9231
Epoch 7563/300000
1s - loss: 0.7484 - acc: 0.7119 - val_loss: 0.3115 - val_acc: 0.8828
Epoch 7564/300000
1s - loss: 0.7702 - acc: 0.6980 - val_loss: 0.3340 - val_acc: 0.8388

1 个答案:

答案 0 :(得分:1)

是的,您可以设法使用Keras的回调API来保存您的模型。您必须创建callback类并实施函数on_epoch_end(),根据您需要的条件保存模型。 我认为最好的选择是检查ModelCheckpoint的实现。您可以在doc

中查看