如何在Tf SLIM

时间:2018-03-05 14:38:40

标签: python tensorflow model checkpoint tf-slim

我正在使用TF-slim来训练我自己的数据集。根据教程,在finetune_inception_v1_on_flowers.sh中,我将检查点路径设置为./inception_resnet_v2.ckpt,并在另一个文件夹中获取大量新检查点,最新文件为model.ckpt-332331.data-00000-of -00001,model.ckpt-332331.index,model.ckpt-332331.meta。

现在我想将学习率改为最新检查点,但我不知道如何在finetune_inception_v1_on_flowers.sh中加载它们,因为有3个文件而不是1个。

firstly, I tried to copy the  model.ckpt-332331.data-00000-of-00001 and set the  checkpoint path as ./model.ckpt-332331.data-00000-of-00001 ,but there is the error:
  

NotFoundError(参见上面的回溯):密钥   未在中找到InceptionResnetV2 / AuxLogits / Conv2d_1b_1x1 / weights / Adam   checkpoint [[Node:save / RestoreV2_4 = RestoreV2 [dtypes = [DT_FLOAT],   _device =" / job:localhost / replica:0 / task:0 / cpu:0"](_ recv_save / Const_0,save / RestoreV2_4 / tensor_names,save / RestoreV2_4 / shape_and_slices)]]

其次,我从日志目录中删除了文件,然后错误是:

  

DataLossError(参见上面的回溯):无法打开表文件   /media/re/7A308F7E308F405D/xsj/checkpoints/model.ckpt-332331.data-00000-of-00001:   数据丢失:不是sstable(错误的幻数):也许你的文件在   不同的文件格式,您需要使用不同的还原   运营商? [[节点:save / RestoreV2_5 = RestoreV2 [dtypes = [DT_FLOAT],   _device =" / job:localhost / replica:0 / task:0 / cpu:0"](_ recv_save / Const_0,save / RestoreV2_5 / tensor_names,save / RestoreV2_5 / shape_and_slices)]]

任何人都可以帮我解决问题吗?非常感谢你!

2 个答案:

答案 0 :(得分:1)

https://www.tensorflow.org/guide/saved_model

中所述
  

没有一个名为/tmp/model.ckpt的物理文件。它是前缀   为检查点创建的文件名。用户仅与   前缀而不是物理检查点文件。

因此,您只需要将检查点路径设置为 ./ model.ckpt-332331

答案 1 :(得分:0)

进行微调时,只需指定目录($ CHECKPOINT_PATH)而不是任何特定文件,它将自动获取路径。