【发布时间】:2020-07-21 16:32:56
【问题描述】:
我使用 DNNClassifier 类实现了以下模型。模型参数化如下
classifier = tf.estimator.DNNClassifier(
hidden_units=[60, 30, 20],
feature_columns=feature_columns,
n_classes=len(labels),
label_vocabulary=labels,
batch_norm=True,
optimizer=lambda: tf.keras.optimizers.Adam(
learning_rate=tf.compat.v1.train.exponential_decay(
learning_rate=0.1,
global_step=tf.compat.v1.train.get_global_step(),
decay_steps=10000,
decay_rate=0.96)
)
)
现在我想做一些超参数调整(例如学习率、单元数等)。
DNNClassifier 是一个预制的估算器类,继承自 Estimator 类。
但是虽然Estimator 有一个params 参数来传递超参数,但DNNClassifier 没有。
那么使用DNNClassifier 进行超参数调整的首选方法应该是什么?
【问题讨论】:
-
但是您已经将两个超参数都传递给了您的模型。您正在传递
hidden_units中的单元数和optimizers.Adam(learning_rate)=0.1中的学习率。你能再描述一下你的问题吗? -
是的,模型已经用固定值参数化了。我现在的目标是对几个值进行一些超参数调整。我重新表述了这个问题。希望对你有帮助
标签: tensorflow2.0 tensorflow-estimator