如何在 Tensorflow DNNClassifier 估计器中打印训练进度?

我想tf.estimator.DNNClassifier在互联网被阻止的 Kaggle 笔记本环境中训练模型。因此,我无法使用 Tensorboard 来监控进度。所以相反,我想在标准输出中记录进度(类似于我们fit在 Keras 模型上调用方法时),但我无法让它工作。


到目前为止,我所尝试的是将日志记录级别设置为INFO并将tf.estimator.RunConfig实例传递给估算器。RunConfig有一个log_step_count_steps默认值 = 100的属性,这似乎与我正在寻找的内容有关,但它不起作用。这是代码的一部分:


import logging;

logging.getLogger().setLevel(logging.INFO)

tf.logging.set_verbosity(tf.logging.INFO)


config = tf.estimator.RunConfig()

classifier = tf.estimator.DNNClassifier(

    feature_columns = feature_columns,

    hidden_units = [128, 64],

    n_classes = 2,

    config = config

)


classifier.train(input_fn=train_input_fn)

我使用 Tensorflow 版本1.11.0-rc1。


红颜莎娜
浏览 173回答 2
2回答

绝地无双

您需要使用替换在 RunConfig 中设置所需的值。config = tf.estimator.RunConfig().replace(keep_checkpoint_max = 5,                     log_step_count_steps=20, save_checkpoints_steps=200)classifier = tf.estimator.DNNClassifier(    feature_columns = feature_columns,    hidden_units = [128, 64],    n_classes = 2,    config = config)classifier.train(input_fn=train_input_fn)上面的代码应该每 20 步后记录一次损失。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python