私はLSTMモデルL1をW-lstm、b-lstm、Wy、byなどのパラメータで事前トレーニング用に訓練しました。LSTMモデルのパーツパラメータを復元する方法
そして、別のWyと、Wy2とby2を仮定して、新しいLSTMモデルL2を訓練したいと思います。
したがって、L1からW-lstmとb-lstmを復元し、Wy2とby2を開始するにはどうすればよいですか?その後、トレーニング。
saver.restore()?
ありがとうございました。
私はLSTMモデルL1をW-lstm、b-lstm、Wy、byなどのパラメータで事前トレーニング用に訓練しました。LSTMモデルのパーツパラメータを復元する方法
そして、別のWyと、Wy2とby2を仮定して、新しいLSTMモデルL2を訓練したいと思います。
したがって、L1からW-lstmとb-lstmを復元し、Wy2とby2を開始するにはどうすればよいですか?その後、トレーニング。
saver.restore()?
ありがとうございました。
セーバーを作成するときに、保存する変数のリストを渡すことができます。したがって、最初のLSTMのためだけにセーバを作成することができます。ここに私が意味するものの例があります。 LSTMを変数スコープ内に作成して、そのスコープ内の変数のみを保存するセーバーを作成するだけです(これはブラウザに入力したコードなので、タイプミスがある可能性があります)。
lstm = tf.nn.rnn_cell.BasicLSTMCel(1024)
with tf.variable_scope('L1') as scope:
state = INITIAL_STATE
for t in range(TIME_STEPS):
output, state = lstm(input, state)
scope.reuse_variables()
...
l1_saver = tf.train.Saver([v for v in tf.all_variables() if 'L1' in v.name])
L1モデルをトレーニングすると、すべてのパラメータが保存されました。だから、この状況で、私は必要なパラメータの一部を抽出する方法は? – user6629312
すべてのセーバーでリストアを行い、特定のL1セーバーを使用して、必要な部分だけを保存し、その後、L1セーバーを使用することができます。 – chasep255
あなたは再びモデルを訓練することを意味しますか? 2人の保護者がいる?すべてのセーバーと特定のL1セーバー? – user6629312
ようこそスタックオーバーフロー。コードの最小限のバージョンを投稿して、あなたが試したことの明確な例とともに、最高の回答を得るでしょう。詳細についてはこちらをご覧ください:http://stackoverflow.com/help/mcve – Toby