【发布时间】:2018-03-11 19:27:46
【问题描述】:
我正在尝试将 tf.train.exponential_decay 与预定义的估算器一起使用,但由于某种原因,这被证明是非常困难的。我在这里遗漏了什么吗?
这是我的旧代码,学习率不变:
classifier = tf.estimator.DNNRegressor(
feature_columns=f_columns,
model_dir='./TF',
hidden_units=[2, 2],
optimizer=tf.train.ProximalAdagradOptimizer(
learning_rate=0.50,
l1_regularization_strength=0.001,
))
现在我尝试添加这个:
starter_learning_rate = 0.50
global_step = tf.Variable(0, trainable=False)
learning_rate = tf.train.exponential_decay(starter_learning_rate, global_step,
10000, 0.96, staircase=True)
但现在呢?
- estimator.predict() 不接受 global_step 所以会卡在 0?
- 即使我将 learning_rate 传递给 tf.train.ProximalAdagradOptimizer() 我也会收到一条错误消息
"ValueError: Tensor("ExponentialDecay:0", shape=(), dtype=float32) 必须来自同一图表 张量("dnn/hiddenlayer_0/kernel/part_0:0", shape=(62, 2), dtype=float32_ref)。”
非常感谢您的帮助。我正在使用 TF1.6 顺便说一句。
【问题讨论】:
标签: tensorflow tensorflow-estimator