2017-04-10 9 views
0

私はバッチを処理するときにLSTMモデルを持っています。私はLSTMレイヤの状態をリセットしたいと思っています。少しのプロセスの後、私はLSTMの元の状態を復元したい私は上記のいくつかのプロセスで学びました)、処理を続行します。私はLSTMの状態をリセットするreset_state()関数を使用することができます知っている。 LSTMの状態を復元するにはどうしたらいいですか?ケラスLSTMの状態を復元する方法

ありがとうございます!

答えて

1

あなたが求めていることはあまり明確ではありませんが、私の理解から、与えられた重みのセットでLSTMを初期化したいと思います。 docsから:

ノートのRNN

に初期状態の指定についてあなたは キーワード引数INITIAL_STATEでそれらを呼び出すことにより、RNN層の初期状態を指定することができます。 initial_stateの値は、 のRNN層の初期状態を表すテンソルまたはテンソルのリストでなければならない。

私はシーケンシャルモデル を使用して初期状態を追加する方法を考え出したが、ここであなたがfunctional APIを使用して、それを行うだろうかですされていない。

X = np.array([[[1, 0], 
       [1, 0], 
       [1, 0], 
       [1, 0]], 

       [[1, 0], 
       [1, 0], 
       [1, 0], 
       [1, 0]]] 
      ) 

y = np.array([[1], 
       [2]]) 

inp = Input(shape=(4, 2)) 
base = LSTM(10) 
enc = base(inp, initial_state=[]) 
out = Dense(1, activation='softmax')(enc) 
model = Model(inp, out) 
model.compile(loss='mse', optimizer='adam') 
model.fit(X, y) 
+0

うん、それは私が欲しいものです。ありがとう! – YjyJeff

関連する問題