|
本帖最后由 shaoheshaohe 于 2020-11-23 09:06 编辑
从ckpt文件转pb,是tf权重很常用的一种操作/
这种操作的目标是,导出pb文件,然后就可以用c++进行调用。
但是,ckpt的文件,通常是三个文件:
xxx.ckpt.data-00000-of-00001
xxx.ckpt.meta
xxx.cktp.index
那么,我们在代码freeze_graph()时,填入的input_checkpoint的path
必须是xxx.ckpt,而不能将后面的data-...这一串写进去。
否则就会出现一个错误:
cannot open sstable...
看这个错误,会以为是,ckpt保存的格式不对。
其实,并非如此!
网络的解决方案,有些是说,将data-0000...这部分后缀删除。
经过测试(tf 1.15),这种方案无效。因为,它后面又会报,找不到ckpt.data-0000...这个文件。
真正的解决方案是:名称写xxx.ckpt,而不能将后面的data-...这一串写进去
|
|