【发布时间】:2019-05-15 02:52:51
【问题描述】:
我尝试使用 optimizers.schedules.ExponentialDecay 作为 Adm 优化器的 learning_rate,但在 GradientTape 中训练模型时我不知道如何将“步骤”传递给它。
我使用 tensorflow-gpu-2.0-alpha0 和 python3.6。 我阅读了文档https://tensorflow.google.cn/versions/r2.0/api_docs/python/tf/optimizers/schedules/ExponentialDecay,但不知道如何解决它。
initial_learning_rate = 0.1
lr_schedule = tf.keras.optimizers.schedules.ExponentialDecay(
initial_learning_rate,
decay_steps=100000,
decay_rate=0.96)
optimizer = tf.optimizers.Adam(learning_rate = lr_schedule)
for epoch in range(self.Epoch):
...
...
with GradientTape as tape:
pred_label = model(images)
loss = calc_loss(pred_label, ground_label)
grads = tape.gradient(loss, model.trainable_variables)
optimizer.apply_gradients(zip(grads, model.trainable_variables))
# I tried this but the result seem not right.
# I want to pass "epoch" as "step" to lr_schedule
【问题讨论】:
标签: python tensorflow2.0