【发布时间】:2019-05-27 13:50:55
【问题描述】:
我刚刚遇到一个问题,我有一个很好的模型,但忘记了我使用了哪些超参数。我只有元、索引和数据文件。我搜索了超参数是否保存在这些文件中。但似乎并非如此。那么将超参数与检查点文件一起保存以便我可以随时使用相同参数重新训练的最佳方法是什么?
【问题讨论】:
标签: tensorflow hyperparameters
我刚刚遇到一个问题,我有一个很好的模型,但忘记了我使用了哪些超参数。我只有元、索引和数据文件。我搜索了超参数是否保存在这些文件中。但似乎并非如此。那么将超参数与检查点文件一起保存以便我可以随时使用相同参数重新训练的最佳方法是什么?
【问题讨论】:
标签: tensorflow hyperparameters
Inceptionv4_bs64_lr0.001_Adam
如果这会使文件名过长,或者如果您已经有一个想要保留的命名约定,只需保存一个与其他文件同名但扩展名不同的文本文件,例如.hyperparams,包含超参数的信息。
tf.constant:learning_rate = tf.constant(0.001)
这些将保存在图形定义中,因此可以在您重新加载模型或检查点文件时恢复。
如果您想要更复杂的东西,tensorflow 2.0 已将 HParams 类升级为完整的 Fledged API。这有点代码重,但有一个教程笔记本提供here。功能包括测试超参数范围、将超参数写入文件和张量板可视化。
或者,也有这些外部平台提供与3.类似的功能,更成熟,也可以使用tensorflow:
【讨论】:
2.。这将完全符合您的要求。
我倾向于使用当前日期作为模型名称,并自动生成一个 csv 文件,如:
date, path_to_model, hyper_param1, hyper_param2, ..., test acc, val acc, train acc, loss
这样我就可以轻松加载我之前在新数据集上训练过的任何模型,只需使用日期即可。这种结构对我来说非常好用,并且允许过滤并且易于阅读
【讨论】: