在TensorFlow中移动检查点

在TensorFlow中移动检查点,tensorflow,Tensorflow,我有以下设置:在GPU服务器上训练模型,在tf.train.Supervisor()中使用tf.train.Saver()功能保存检查点。培训结束后,我想将这个模型转移到我的笔记本电脑上,并加载它以进行推理。 尝试使用self.saver.restore(sess,self.checkpoint\u path)还原模型时(事先重新创建了正确的图形),我遇到以下错误: E tensorflow/core/client/tensor_c_api.cc:485] Cannot assign a dev

我有以下设置:在GPU服务器上训练模型,在tf.train.Supervisor()中使用tf.train.Saver()功能保存检查点。培训结束后,我想将这个模型转移到我的笔记本电脑上,并加载它以进行推理。 尝试使用
self.saver.restore(sess,self.checkpoint\u path)
还原模型时(事先重新创建了正确的图形),我遇到以下错误:

E tensorflow/core/client/tensor_c_api.cc:485] Cannot assign a device to node 'worker_0/save/Const': Could not satisfy explicit device specification '/job:worker/task:0' because no devices matching that specification are registered in this process; available devices: /job:localhost/replica:0/task:0/cpu:0
Colocation Debug Info:
Colocation group had the following types and devices: 
Identity: CPU 
Const: CPU 
 [[Node: worker_0/save/Const = Const[dtype=DT_STRING, value=Tensor<type: string shape: [] values: model>, _device="/job:worker/task:0"]()]]
我看到
cpkt.model\u checkpoint\u path
指向服务器上创建检查点的原始路径,而不是指向我试图从中恢复模型的
self.checkpoint\u path

这两件事有联系吗?或者我上面的错误消息还有其他原因吗

任何帮助都将不胜感激


Mat

听起来好像您的设备分配已保存,而相同的设备在您的恢复环境中不可用

freeze\u graph
import\u meta\u graph
中有一个标志
clear\u devices
,可用于清除该信息


或者,您可以使用图形信息编辑
pbtxt
,手动删除以
设备开始的所有行:

Thx Yaroslav,更新TF版本,以及理解保存和导入图形逻辑,解决了我的问题!
cpkt = tf.train.get_checkpoint_state(self.checkpoint_dir)