title: Moving checkpoints around in TensorFlow
body: <p>I have the following setup: I train a model on our GPU server, save a checkpoint using the tf.train.Saver() functionality within a tf.train.Supervisor(). After training, I want to transfer this model to my laptop and load it for inference purposes. 
  When attempting to restore the model with <code>self.saver.restore(sess,self.checkpoint_path)</code>, (having re-created the proper graph beforehand), I get the following Error:</p>
  
  <pre><code>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&lt;type: string shape: [] values: model&gt;, _device="/job:worker/task:0"]()]]
  </code></pre>
  
  <p>When analysing the properties of the cpkt object returned by </p>
  
  <pre><code>cpkt = tf.train.get_checkpoint_state(self.checkpoint_dir)
  </code></pre>
  
  <p>I see that <code>cpkt.model_checkpoint_path</code> points to the original path on the server, where the checkpoint was created, not to <code>self.checkpoint_path</code>, from which I tried to restore the model. </p>
  
  <p>Are these two things connected? Or is there another reason for my above error message.</p>
  
  <p>Any help would be appreciated,</p>
  
  <p>Mat</p>