我正在尝试使用 Tensorflow 1.1 运行 SSD-Tensorflow 项目。当我尝试在 ssd_notebook.ipynb 的单元格 7 中恢复检查点文件时,出现以下错误:
Unable to open table file D:\Projects\SSD-Tensorflow\checkpoints\ssd_300_vgg.ckpt: Unknown: NewRandomAccessFile failed to Create/Open: D:\Projects\SSD-Tensorflow\checkpoints\ssd_300_vgg.ckpt : Access is denied.; Input/output error [[Node: save_1/RestoreV2_70 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/cpu:0"](_recv_save_1/Const_0, save_1/RestoreV2_70/tensor_names, save_1/RestoreV2_70/shape_and_slices)]] [[Node: save_1/RestoreV2_31/_29 = _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_421_save_1/RestoreV2_31", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/gpu:0"]()]]
本质上,
ckpt_filename = '../checkpoints/ssd_300_vgg.ckpt'saver = tf.train.Saver()session = tf.Session()saver.restore(session, ckpt_filename)
尝试恢复检查点文件时抛出 Access Denied 错误。我确保我可以从该文件夹读取和写入,甚至尝试以管理员身份运行笔记本。

最佳答案

我曾经有同样的问题,现在我发现了问题所在。
我认为这是因为您没有正确设置 save_path。
以下是我使其正确的方法。希望这会帮助你。

检查点文件包括两个文件:xxx.index 和 xxx.data。

函数 saver.restore() 中的变量 save_path 应该是“xxx”。

比如我在ckpt_path方向保存了我的checkpoint,一共有三个文件:

  • 'model-20170508-212349.ckpt-17873.data-00000-of-00001'
  • 'model-20170508-212349.ckpt-17873.index'
  • 'model-20170508-212349.meta'

  • 脚本应该是这样的:
    saver.restore(session,'ckpt_path/model-20170508-212349.ckpt-17873')
    

    关于python - Windows Tensorflow 无法恢复检查点。 "Access is denied.",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43644893/

    10-12 22:44