Python 如何初始化评估';s局部变量与tf.train.Scaffold?

Python 如何初始化评估';s局部变量与tf.train.Scaffold?,python,tensorflow,Python,Tensorflow,我使用高级对象来交叉培训和评估。但是,我面临来自评估和度量模块的局部变量的问题,这些变量报告为未初始化: 未初始化变量:平均值/总数、平均值/计数、评估步骤 我提供了一个定制的local\u init\u op,基本上如下所示: scaffold = tf.train.Scaffold( local_init_op=tf.group( iterator.initializer, tf.tables_initializer(), tf.local_variables_

我使用高级对象来交叉培训和评估。但是,我面临来自评估和度量模块的局部变量的问题,这些变量报告为未初始化:

未初始化变量:平均值/总数、平均值/计数、评估步骤
我提供了一个定制的
local\u init\u op
,基本上如下所示:

scaffold = tf.train.Scaffold(
  local_init_op=tf.group(
    iterator.initializer,
    tf.tables_initializer(),
    tf.local_variables_initializer()))
(其中,
迭代器是一个。)

然后存储在中,由的
model\u fn
函数返回

由于我不认为
tf.local\u variables\u initializer()
操作迟缓,这意味着这些变量尚未创建


那么如何初始化它们呢?

我找到的唯一解决方案是不使用自定义的
本地\u init\u op
,而是依赖于默认的
Scaffold.finalize,当所有变量都被创建时,它内置在
Scaffold

要初始化我的
迭代器
,我只需将它添加到
表_INITIALIZERS
集合中:

tf.add_to_collection(tf.GraphKeys.TABLE_INITIALIZERS, iterator.initializer)