擅长:python、mysql、java
<p>您可以按如下所示在每个历元后通过自定义值来降低学习速率</p>
<pre><code>def scheduler(epoch, lr):
if epoch < 1:
return lr
else:
return lr * tf.math.exp(-0.1)
</code></pre>
<p>以上是降低学习率的函数,现在应该在每个历元后调用此函数。下面是使用LearningRateScheduler初始化函数的过程(您可以查看tensorflow网站上的文档以了解更多详细信息)</p>
<pre><code>callback = tf.keras.callbacks.LearningRateScheduler(scheduler)
</code></pre>
<p>现在,让我们从fit方法中调用它</p>
<pre><code>history = model.fit(trainGen, validation_data=valGen, validation_steps=val_split//batch_size, epochs=200, steps_per_epoch= train_split//batch_size, callbacks=[callback])
</code></pre>
<p>如上所述,您只需在fit方法中配置初始化的调度程序并运行它。您将注意到,在每个历元之后,学习速率会根据您在调度程序功能中设置的值不断降低</p>