首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Tensorflow DNNClassifier estimator中打印训练进度?

如何在Tensorflow DNNClassifier estimator中打印训练进度?
EN

Stack Overflow用户
提问于 2018-12-10 11:42:01
回答 2查看 1.3K关注 0票数 0

我想用tf.estimator.DNNClassifier在互联网被封锁的Kaggle笔记本环境中训练一个模型。因此,我不能使用Tensorboard来监控进度。因此,我希望在标准输出中记录进度(类似于我们在Keras模型上调用fit方法时),但我无法使其工作。

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

代码语言:javascript
复制
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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-24 06:58:25

在尝试了这么多解决方案后,我终于发现问题中的所有代码都是必要的,比如将日志级别设置为INFO,并将RunConfig对象传递给DNNClassifier,但是由于Kaggle内核笔记本中的一个bug,在训练分类器之前,我们首先需要记录一些任意的东西,以使Tensorflow日志在Kaggle中工作!例如:

代码语言:javascript
复制
logging.info('I am info')
票数 1
EN

Stack Overflow用户

发布于 2018-12-21 22:13:19

您需要使用replace在RunConfig中设置所需的值。

代码语言:javascript
复制
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步之后记录一次损失。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53699201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档