如何指定tf.train.MonitoredTrainingSession仅恢复变量子集并对其余变量执行初始化?
从cifar10教程开始.. https://github.com/tensorflow/models/blob/master/tutorials/image/cifar10/cifar10_train.py ..我创建了要恢复和初始化的变量列表,并使用Scaffold指定它们,然后将其传递给MonitoredTrainingSession。
但是这会导致以下错误:
RuntimeError: Init operations did not make model ready for local_init. Init op: group_deps, init fn: None, error: Variables not initialized: conv2a/T, conv2b/T, [...]
在上述错误信息中列出的未初始化变量是我的“init_vars”列表中的变量。
该异常由SessionManager.prepare_session()引发。该方法的源代码似乎表明,如果从检查点恢复了会话,则不会运行init_op。因此,看起来您可以具有恢复变量或已初始化变量,但不能同时具有两者。
从cifar10教程开始.. https://github.com/tensorflow/models/blob/master/tutorials/image/cifar10/cifar10_train.py ..我创建了要恢复和初始化的变量列表,并使用Scaffold指定它们,然后将其传递给MonitoredTrainingSession。
restoration_saver = Saver(var_list=restore_vars)
restoration_scaffold = Scaffold(init_op=variables_initializer(init_vars),
ready_op=constant([]),
saver=restoration_saver)
但是这会导致以下错误:
RuntimeError: Init operations did not make model ready for local_init. Init op: group_deps, init fn: None, error: Variables not initialized: conv2a/T, conv2b/T, [...]
在上述错误信息中列出的未初始化变量是我的“init_vars”列表中的变量。
该异常由SessionManager.prepare_session()引发。该方法的源代码似乎表明,如果从检查点恢复了会话,则不会运行init_op。因此,看起来您可以具有恢复变量或已初始化变量,但不能同时具有两者。