是否有任何简单的方法可以使用SkFlow estimators?
实现正则化方法SkFlow中存在example实施辍学,但它没有实施估算工具。
以下是我正在使用的代码:
regressor = skflow.TensorFlowDNNRegressor(
hidden_units=[
20,
30,
30,
30,
20
],
steps=steps,
learning_rate=0.3,
batch_size=32)
regressor.fit(X_train, y_train)
如果没有任何简单的方法来实现这些SkFlow估算器的正则化,那么如果有人可以展示,解释或指出一些能给我带来与TensorFlowDNNRegressor基本相同效果的东西,我会很感激,但我可以添加正规化。
答案 0 :(得分:0)
此解决方案使用新的tf.contrib.learn
api,它允许丢失和优化器。
val_monitor = learn.monitors.ValidationMonitor(
X_validate,
y_validate,
every_n_steps=100,
early_stopping_metric="loss",
early_stopping_metric_minimize=True,
early_stopping_rounds=1000)
feature_columns = [contrib.layers.real_valued_column("", dimension=2)]
regressor = learn.DNNRegressor(
feature_columns=feature_columns,
hidden_units=[1024, 512, 256],
model_dir="tmp/network_model",
config=tf.contrib.learn.RunConfig(save_checkpoints_secs=10),
optimizer=tf.train.ProximalAdagradOptimizer(
learning_rate=0.1,
#l2_regularization_strength=0.0001
),
dropout=0.1)
regressor.fit(X_train, y_train, steps=500000, batch_size=32, monitors=[val_monitor])
我仍然不确定如何使用decaying learning rate。
有关validation monitoring和api的更多信息。