2017-02-21 79 views
0

我正在學習張量流中的Google wide and deep model在張量流中,當我使用DNNLinearClassifier [wide_n_deep_tutorial.py]時,如何恢復訓練出的歷史模型並在其上訓練基礎

我的代碼是根據tf example修改的。

我的問題是:

  1. 如何載入歷史模型,培養基於它的新樣本。我在網上搜索了很多,但大多數方法類似於下面的代碼。保護程序

    v1 = tf.Variable(..., name="v1") 
    v2 = tf.Variable(..., name="v2") 
    ... 
    init_op = tf.initialize_all_variables() 
    saver = tf.train.Saver() 
    with tf.Session() as sess: 
        sess.run(init_op) 
        .. 
        save_path = saver.save(sess, "/tmp/model.ckpt") 
    

    實例但在wide_n_deep列車,它定義了一個方法 「build_estimator」 返回:

    m = tf.contrib.learn.DNNLinearCombinedClassifier

    當我使用上面的方法來定義一個保存程序時,它給出了錯誤,沒有保存Varibles。並且「m」返回沒有保存,恢復方法。

    我也嘗試model.loadtflearn,但它也不起作用。

  2. 二是與以上相關,如何保存模型。或者如何使用適合方法保存在/ tmp /中的模型。 (檢查站)

我的問題可以概括爲:

如何保存模型和還原歷史模型,當我在tensorflow使用DNNLinearCombinedClassifier

回答

0

DNNLinearCombinedClassifierhttps://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/learn/python/learn/estimators/dnn_linear_combined.py#L476有一個參數model_dir。只需將它指向您存儲模型檢查點的目錄即可。

+0

感謝您的評論!是不是保存模型這個火車生成的目標模型_目錄?或者負載模型的目錄和保存模型的目錄可以相同?如果答案是肯定的,並且負載自動加載最後一個模型?再次感謝。 – Cow

+0

該目錄可用於在訓練之前加載模型檢查點以及在某些步驟之後保存模型檢查點。 – yuefengz

+0

非常感謝。 – Cow