擅长:python、mysql、java
<p>最简单的答案可能是购买并安装一个GPU。价格已经下降,所以你可以在不花太多钱的情况下获得更短的训练时间。然而,考虑到您的实际情况,使用两个Keras回调函数可能有助于减少培训时间。第一个是高原。文档是<a href="https://keras.io/api/callbacks/reduce_lr_on_plateau/" rel="nofollow noreferrer">here.</a>可以设置此回调来监视验证丢失。如果验证损失在“耐心”次数的历次中未能减少,则学习率将减少因子“因子”,其中因子小于1。通过这种回调,应该可以从更高的学习率开始,并在早期更快地收敛,然后根据需要自动降低学习率。第二个回调是earlystoping。文档是<a href="https://keras.io/api/callbacks/early_stopping/" rel="nofollow noreferrer">here.</a>可以设置它来监控验证丢失,如果丢失未能改善“耐心”次数,则终止培训。这将阻止您运行不会进一步提高性能的历元。在参数restore_best_weights=True的回调中,在训练结束时,您的模型将具有验证损失最低的历元的权重。我建议的回调设置如下所示</p>
<pre><code>rlronp=f.keras.callbacks.ReduceLROnPlateau(monitor="val_loss", factor=0.5, patience=1)
estop=tf.keras.callbacks.EarlyStopping(monitor="val_loss",patience=3,restore_best_weights=True)
callbacks=[rlronp, estop]
</code></pre>
<p>然后在model.fit中包含回调=回调</p>