小编use*_*701的帖子

如何使用 tf.train.MonitoredTrainingSession 仅恢复某些变量

如何告诉 tf.train.MonitoredTrainingSession 仅恢复变量的子集,并对其余变量执行初始化?

从 cifar10 教程开始.. https://github.com/tensorflow/models/blob/master/tutorials/image/cifar10/cifar10_train.py

..我创建了要恢复和初始化的变量列表,并使用传递给 MonitoredTrainingSession 的脚手架指定它们:

  restoration_saver = Saver(var_list=restore_vars)
  restoration_scaffold = Scaffold(init_op=variables_initializer(init_vars),
                                  ready_op=constant([]),
                                  saver=restoration_saver)
Run Code Online (Sandbox Code Playgroud)

但这会出现以下错误:

运行时错误:初始化操作没有使模型为 local_init 做好准备。初始化操作:group_deps,初始化fn:无,错误:变量未初始化:conv2a/T,conv2b/T,[...]

..其中错误消息中列出的未初始化变量是我的“init_vars”列表中的变量。

该异常是由 SessionManager.prepare_session() 引发的。该方法的源代码似乎表明,如果会话从检查点恢复,则 init_op 不会运行。所以看起来你可以恢复变量或初始化变量,但不能两者兼而有之。

tensorflow

5
推荐指数
1
解决办法
6515
查看次数

标签 统计

tensorflow ×1