TF Estimator:要从保存的检查点继续,您是否只是将`warm_start_from'设置到检查点目录?那初始化器呢?

时间:2018-10-25 04:46:40

标签: python tensorflow

我已从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时是否发生类似的事情?

0 个答案:

没有答案