我正在尝试使用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
错误。我确保我可以从该文件夹中读取和写入,甚至尝试以管理员身份运行笔记本。
答案 0 :(得分:2)
我曾经遇到同样的问题,现在我发现了什么问题。 我认为这是因为你没有使save_path正确。 以下是我正确的方法。希望这会对你有所帮助。
检查点文件包括两个文件:xxx.index和xxx.data。
函数saver.restore()中的变量save_path应该是' xxx'。
例如,我将检查点保存在ckpt_path的方向,并且有三个文件:
并且脚本应该是这样的:
saver.restore(session,'ckpt_path/model-20170508-212349.ckpt-17873')