错误提示:
ValueError:The passed save_path is not a valid checkpoint: ./experiment_VGG/model-500000
三种可能的错误解决:
1、注意 "/" 和 "\" 符号不要弄错
2、路径最后不要加 "/"
4、从源码来看,
if not checkpoint_management.checkpoint_exists(compat.as_text(save_path)):
raise ValueError("The passed save_path is not a valid checkpoint: "
+ compat.as_text(save_path))
是checkpoint_management.checkpoint_exists方法返回了False,表明路径不存在或者路径错误;比如
说我遇到就是这种情况,我是 ./experiment_VGG 文件夹存在,而 model-500000 文件夹不存在,于是将
路径改为 " ./experiment_VGG " 或者在" ./experiment_VGG "文件夹下新建 model-500000 文件夹亦
或者model-500000是一个.ckpt文件(即model-500000.ckpt,将该.cpkt文件放在experiment_VGG文件夹
下)即可解决错误了。
多说几句源码:
compat.as_text方法下面执行的代码是:
if isinstance(bytes_or_text, _six.text_type):
return bytes_or_text
elif isinstance(bytes_or_text, bytes):
return bytes_or_text.decode(encoding)
else:
raise TypeError('Expected binary or unicode string, got %r' % bytes_or_text)
没有弹出'Expected binary or unicode string, got %r' 这句话,说明不是在compat.as_text方法中出现的错误
于是再查看checkpoint_management.checkpoint_exists方法的代码:
pathname = _prefix_to_checkpoint_path(checkpoint_prefix,
saver_pb2.SaverDef.V2)
if file_io.get_matching_files(pathname):
return True
elif file_io.get_matching_files(checkpoint_prefix):
return True
else:
return False
发现是最后一行返回的False,说明是路径没有匹配成功,更加确定了是路径路径不存在或者路径错误