2016-08-19 16 views
2

に私は次のセットアップを持っている:私は)(tf.train.Supervisor内tf.train.Saver()機能を使用して、チェックポイントを保存し、私たちのGPUサーバー上のモデルを訓練します。トレーニングの後、私はこのモデルを私のラップトップに転送して推論の目的でロードしたいと思う。 self.saver.restore(sess,self.checkpoint_path)とモデルを復元しようとすると 、(事前に適切なグラフを再作成した)、私は次のエラーを取得する:移動チェックポイントの周りTensorFlow

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 = tf.train.get_checkpoint_state(self.checkpoint_dir) 
によって返さcpktオブジェクトの特性を分析

cpkt.model_checkpoint_pathは、チェックポイントが作成されたサーバー上の元のパスを指しています。self.checkpoint_pathではなく、モデルを復元しようとしました。

これら2つのものは接続されていますか?または、私の上記のエラーメッセージの別の理由があります。任意の助けをいただければ幸いです

マット

答えて

0

お使いのデバイスの割り当てが保存されているように聞こえる、と同じデバイスは、リストア環境では使用できません。

freeze_graphにフラグclear_devicesがあり、その情報を消去するために使用できるimport_meta_graphがあります。

また、あなたのグラフ情報とpbtxtを編集して、手動でdevice:

+0

Thxをヤロスラフで始まるすべての行を削除することができ、TFのバージョンを更新するだけでなく、省エネ&インポートグラフロジックを理解することは私の問題を解決しました! – Mathew

関連する問題