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)