ValueError:The passed save_path is not a valid checkpoint:./experiment_VGG/model-500000

错误提示:

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,说明是路径没有匹配成功,更加确定了是路径路径不存在或者路径错误

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章