我形成了一個有幾個隱藏狀態的小型LSTM單元。從Tensorflow howtos中,我可以保存和恢復用tf.Variable聲明的變量的狀態。然而,當我調查了rnn_cell.py,我看到了存在的功能:tensorflow保存庫中的共享變量
def linear(args, output_size, bias, bias_start=0.0, scope=None):
而且裏面有一個共享變量的訪問
matrix = vs.get_variable("Matrix", [total_arg_size, output_size])
據我瞭解矩陣店權重W_i,W_o,W_f和W_o,因爲畢竟線性函數,來了:
new_c = c * sigmoid(f + self._forget_bias) + sigmoid(i) * tanh(j)
new_h = tanh(new_c) * sigmoid(o)
所以,我願意保存和恢復該變量 好。我的問題是這可能在哪裏?
你爲什麼要這樣做?當前的保存/恢復不適用於您? –
1 - 我從另一篇文章中讀到的是,保存和恢復不保存這些變量(只保存你在自己的代碼中定義的變量,也許這是錯誤的,我沒有仔細檢查)。 2-對於速度:我有數百個訓練數據文件,當我訓練這些文件時,我在文件的開頭和結尾恢復並保存狀態。因此,在批量處理單個文件的過程中,對於某些自定義計算,我需要在每批(每256個元素可以說)的Matrix值。保存和恢復每256個元素,我認爲可能是昂貴的(讀/寫io)。 – flyingmadden