1. 程式人生 > >tensorflow 連續restore時碰見的bug以及解決方法

tensorflow 連續restore時碰見的bug以及解決方法

1. bug

最近在使用tensorflow做影象超分時,碰見以下bug。每次恢復一張圖片時,程式執行正常。但當恢復多張圖片時,就會報以下錯誤:

NotFoundError (see above for traceback): Key Conv_100/biases not found in checkpoint
     [[Node: save_1/RestoreV2_6 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/cpu:0"](_recv_save_1/Const_0, save_1/RestoreV2_6/tensor_names, save_1/RestoreV2_6/shape_and_slices)]]
[[Node: save_1/RestoreV2_268/_317 = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/gpu:0", send_device="/job:localhost/replica:0/task:0/cpu:0", send_device_incarnation=1, tensor_name="edge_1778_save_1/RestoreV2_268", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/gpu:0"]()]]

2. 解決辦法

搜了半天,是因為再次讀取模型時,權重名稱已經發生變化,所以就會報錯誤。詳情請參考這篇部落格

解決方法:在resume前面加上tf.reset_default_graph(),這樣使得每次恢復時模型會轉化成預設的圖。