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(),这样使得每次恢复时模型会转化成默认的图。

猜你喜欢

转载自blog.csdn.net/wyz6666/article/details/79122768