全局步骤不是从0开始

我有一个使用MonitoredTrainingSession进行分布式计算的RNN。我使用global_step来标识每个工作节点应该处理哪一批输入数据。

我在创建会话之前定义了张量

global_step_tensor = tf.Variable(0, dtype=tf.int32, trainable=False, name=‘global_step’)...minimise = optimiser.minimize(loss, name=‘adam_opt’, global_step=‘global_step’)with tf.train.MonitoredTrainingSession(...) as sess:    graph=tf.get_default_graph()    curr_step=sess.run(global_step_tensor)    print(curr_step) #输出366

我以为这个变量只有在评估优化器时才会被增加?为什么它从366开始?

编辑 我的集群定义为一个参数服务器和两个工作节点。目前,在测试过程中,这三个都在同一主机上通过不同的端口运行。


回答:

根据文档,MonitoredTrainingSession有几个默认参数,可以自动创建检查点:

save_checkpoint_secs:使用默认检查点保存器保存检查点的频率,单位为秒。如果save_checkpoint_secs设置为None,则不使用默认检查点保存器。

save_summaries_steps:使用默认摘要保存器将摘要写入磁盘的频率,单位为全局步骤数。如果save_summaries_steps和save_summaries_secs都设置为None,则不使用默认摘要保存器。默认值为100。

save_summaries_secs:使用默认摘要保存器将摘要写入磁盘的频率,单位为秒。如果save_summaries_steps和save_summaries_secs都设置为None,则不使用默认摘要保存器。默认未启用。

也许这就是为什么你的当前批次不再是0的原因。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注