针对tensorflow程序的不同实例的检查点文件

时间:2017-11-20 14:51:53

标签: python tensorflow artificial-intelligence

我正在调整tensorflow脚本中的参数以确定最佳性能。

基本上我同时运行不同参数的相同脚本的不同实例,但保存了具有不同名称的模型

我认为更改saver中的名称就足够了。因此,如果我运行3个独立的脚本实例,每个将具有不同的文件名,例如,

saver.save(session,"./whatever_param1.ckpt"), 
saver.save(session,"./whatever_param2.ckpt"),
saver.save(session,"./whatever_param3.ckpt")

我实际上得到了不同的.meta.index.data-00000-of-00001个文件。

我不明白的是名为checkpoint的文件。我的脚本同时运行的所有实例似乎都写入相同的checkpoint文件。

我认为我弄乱了同时运行的脚本的不同实例的结果。

请您告诉我为什么即使向checkpoint传递了不同的名称,也只会创建一个saver个文件?

感谢。

1 个答案:

答案 0 :(得分:0)

我在tensorflow文档中找到了答案

特别是这部分:

  

该协议缓冲区存储在检查点文件旁边名为“checkpoint”的文件中。

     

如果您创建了多个保护程序,则可以在调用save()时为协议缓冲区文件指定不同的文件名。

并在save() 要指定的参数是:

  

latest_filename:协议缓冲区文件的可选名称,其中包含最新检查点文件名列表。该文件与检查点文件保存在同一目录中,由保护程序自动管理,以跟踪最近的检查点。默认为'checkpoint'。

所以解决方案是:

saver.save(session, "./whatever_param1.ckpt", latest_filename='checkpoint_param1')