我已从TF官方文档中阅读了此内容
warm_start_from:检查点的可选字符串文件路径,或者 可以从SavedModel或tf.estimator.WarmStartSettings进行热启动 对象以完全配置热启动。如果字符串文件路径为 提供而不是tf.estimator.WarmStartSettings,然后全部 变量是热启动的,并且假设词汇和 tf。张量名称不变。
https://www.tensorflow.org/api_docs/python/tf/estimator/Estimator
因此,如果我将检查点放到文件夹中,它将加载这些权重。但是我不确定,因为我不确定“热启动”的含义。在考虑从检查点加载模型之前,Tensorflow从未使用过此术语。
但是我最好的解释是,如果您向warm_start_from
提供检查点目录,就像这样
estimator = tf.estimator.DNNClassifier(
feature_columns=[categorical_feature_a_emb, categorical_feature_b_emb],
hidden_units=[1024, 512, 256],
warm_start_from="/path/to/checkpoint/dir")
然后它将使用其初始化权重。
另外,假设您在声明变量时拥有初始化器,例如
embeddings = tf.get_variable( 'embeddings', dtype=tf.float32,
initializer= tf.random_uniform([vocabulary_size, embedding_size], -1.0, 1.0, dtype=tf.float32) )
如果您不是第一次训练,则不使用Tf估计器,而只使用图形/会话,则可以使用tf.global_variables_initializer
运行初始化器。
tf.global_variables_initializer().run()
否则,您只需加载一个检查点
saver.restore(session, './path/to/checkpoint/dir' )
并跳过初始化程序。
使用TF.Estimators时是否发生类似的事情?