問題タブ [lstm-stateful]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 純粋な Tensorflow で Keras Stateful LSTM を書き直す方法は?
Keras Stateful LSTM を純粋な Tensorflow モデルに変換する方法について、アイデア/ブログ/コード スニペットを共有できる人はいますか? そして、バッチでトレーニングします..
Tensorflow は、TPU で KerasステートフルLSTM をサポートしていません。彼らの開発者はそれを修正することを拒否しました.
大量の TPU 時間が予約されており、今のところ使用する方法がありません。どんな助けでも大歓迎です。
トレーニングするモデルの例とコード:
GitHub の問題: https://github.com/tensorflow/tensorflow/issues/28837
tensorflow - return_state=True を LSTM に追加している間、2 つの構造は同じネストされた構造を持ちません。
バグなのかエラーなのかわかりません。この問題はこちらでも報告しました。
私がやろうとしているのは、カスタム LSTM をステートフルにしたいということです。したがって、このコードは正常に実行され、without
追加されreturn_state=True
ます。これをコードに追加すると、次のエラーが発生します: The two structures don't have the same nested structure
.
これは再現可能なコードです:
アップデート1
コメントのアイデアを適用した後tf.map_fn(row_entropy, encoded,dtype=tf.float32)
、新しいエラーを受け取りました:
また、そのラムダ層がなくてもこのエラーが発生することを考慮してください。そのため、他に何か問題があるようです。私が試してみるとencoded.shape
、encoded
のリストであると表示されますが、 !!!length 5
のテンソルでなければなりません。(batch_size, latent size)
追加せずにすべて問題ありませreturn_state=True
ん。助けていただければ幸いです。
python - Keras: トレーニング例全体で重みのレイヤーを共有します (レイヤー間ではありません)
問題は次のとおりです。語彙サイズ 25K のカテゴリ予測タスクがあります。そのうちの 1 つ (入力ボキャブ 10K、出力薄暗い、つまり埋め込み 50) で、入力埋め込み (形状 1,50) と重み (形状 (50,128)) の間の行列乗算のためのトレーニング可能な重み行列を導入したい (バイアスなし) )、結果のベクトル スコアは、他の機能とともに予測タスクの入力となります。
重要なのは、単純に追加すると、トレーニング可能な重みマトリックスは入力ごとに異なると思います。この重みマトリックスをすべての入力で共通にしたいのです。
明確にする必要があります-ここでの入力とは、トレーニングの例を意味します。したがって、すべての例は、いくつかの例固有の埋め込みを学習し、共有重み行列で乗算されます。
非常に多くのエポックごとに、これらの一般的な重みを学習するためにバッチ更新を行う予定です (または、他のターゲット変数を使用して複数の出力予測を行います)。
LSTM? それは私がここで調べるべきことですか?
keras - keras API で LSTM セルに入力を提供する
深層学習における LSTM について読んでいます。Andrew Ng 教授のコース LSTM から、各 LSTM セルに 3 つの入力。
入力は、前のセルからのセル状態、つまり "c" 上付き文字 (t-1) と LSTM セルの出力 "a" 上付き文字 (t-1) と入力 x 上付き文字 (t) です。
LSTM セルの出力は、現在のセル状態、つまり "c" 上付き文字 (t) と LSTM セルの出力 "a" 上付き文字 (t) です。
上記の入力の keras で LSTM セルの初期化パラメーターを渡すにはどうすればよいですか?
助けてくれてありがとう。簡単な例が役に立ちます。
keras - lstm による基本的な時系列予測
シーケンスがあり、残りのシーケンスを予測するために可能な限り単純な LSTM を実行したいと考えています。つまり、前のステップのみを使用して次のステップを予測し、さらにステップを追加することから始めたいということです。予測値も入力として使用したい。だから私が望むのは、Keras LSTMを理解するという回答に記載されているように、多対多を達成することだと思います。
stackoverflow のトピックに関する他の質問を読みましたが、それでも機能させることができませんでした。私のコードでは、https: //machinelearningmastery.com/time-series-prediction-lstm-recurrent-neural-networks-python-keras/ のチュートリアルと関数 create_dataset を使用して、シフトのみで 2 つの配列を作成しています。ワンステップ。
ここに私のコードと私が得たエラーがあります。
上記のトピックのようにすべてを行ったように見えるのに、なぜこのようなエラーが発生するのか知っていますか?