我正在调整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
个文件?
感谢。
答案 0 :(得分:0)
我在tensorflow文档中找到了答案
特别是这部分:
该协议缓冲区存储在检查点文件旁边名为“checkpoint”的文件中。
如果您创建了多个保护程序,则可以在调用save()时为协议缓冲区文件指定不同的文件名。
并在save()
要指定的参数是:
latest_filename:协议缓冲区文件的可选名称,其中包含最新检查点文件名列表。该文件与检查点文件保存在同一目录中,由保护程序自动管理,以跟踪最近的检查点。默认为'checkpoint'。
所以解决方案是:
saver.save(session, "./whatever_param1.ckpt", latest_filename='checkpoint_param1')