当我使用tf.train.latest_checkpoint()训练了ENet模型以进行预测后尝试加载检查点时,尽管我传递了正确的检查点路径,但它仍返回“ None”。
这是我的代码:
image_dir = './dataset/test/'
images_list = sorted([os.path.join(image_dir, file) for file in
os.listdir(image_dir) if file.endswith('.png')])
checkpoint_dir = "./checkpoint_mk"
listi = os.listdir(checkpoint_dir)
print(listi)
checkpoint = tf.train.latest_checkpoint("./log/original/check")
print(checkpoint,'---------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++')
它返回None。
我正在传递检查点的绝对路径,因为它们存储在其他Dir中。
这是我的检查点文件夹。
编辑---------------
model_checkpoint_path:“ model.ckpt-400”
all_model_checkpoint_paths:“ model.ckpt-0”
all_model_checkpoint_paths:“ model.ckpt-400”
答案 0 :(得分:1)
tf.train.latest_checkpoint
路径参数必须相对于当前目录(从中执行Python脚本)。如果结构复杂(例如,数据集存储在其他文件夹或HDD中),则只需使用该文件夹的绝对路径即可。这就是tf.train.latest_checkpoint("/home/nikhil_m/TensorFlow-ENet/log/original")
在这种情况下起作用的原因。