2016-10-05 104 views

回答

0

不需要更新狀態。這與數據如何饋送到網絡有關。一個句子跨越多個批次。例如。假設我們有batch_size = 1和num_steps = 2,那麼你需要一個句子「棕色狐狸跳」第一批b1 = ['the','brown'],然後是另一批b2 = ['fox','跳。張量流簡單地做的就是將最終的隱藏狀態作爲b1的處理結果,並將其重新用作b2的初始狀態,這使得完美的感覺是正確的?

換句話說,這與您是否在驗證集上進行培訓,測試或運行完全無關。此外,更新狀態也與改變模型的參數無關。

0

cell_state的初始化值由您設置,通常我們使用零狀態進行初始化。

然而,一旦你啓動了一個進程,狀態就會根據輸入序列更新。您可以將狀態視爲「網絡如何理解序列」。所以當網絡以不同的順序饋送時,細胞狀態是不同的。

相關問題