問題タブ [pytorch-lightning]

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.

0 投票する
1 に答える
549 参照

python - Pytorch(lightning)でTruncated Backpropagationを使用して非常に長いシーケンスでLSTMを実行するには?

フレームごとの分類のためにLSTMにフィードしたい非常に長い時系列があります。

私のデータはフレームごとにラベル付けされており、発生以来、分類に大きな影響を与えるいくつかのまれなイベントが発生することを知っています.

したがって、意味のある予測を得るには、シーケンス全体をフィードする必要があります。

非常に長いシーケンスを LSTM に入力するだけでは、通常の RNN と同様に勾配が消失または爆発するため、最適ではないことが知られています。


シーケンスをより短い (たとえば、100 の長さの) シーケンスにカットする単純な手法を使用し、それぞれで LSTM を実行してから、最終的な LSTM 非表示およびセル状態を次のフォワード パスの開始非表示およびセル状態として渡したいと思いました。 .

これは、まさにそれを行った人の例ですそこでは、「時間による切り捨てられた逆伝播」と呼ばれます。私は同じ作品を作ることができませんでした。


Pytorch ライトニングでの私の試み (無関係な部分を取り除いたもの):

このコードを実行すると、次のエラーが発生します。

追加しても同じことが起こります

使用するとエラーは発生しません

しかし、現在のフレームバッチからの出力が次のフレームバッチに転送されないため、明らかにこれは役に立ちません。


このエラーの原因は何ですか? h_n出力を切り離すc_nだけで十分だと思いました。

前のフレーム バッチの出力を次のフレーム バッチに渡し、各フレーム バッチを個別にトーチ バック プロパゲートするにはどうすればよいですか?

0 投票する
1 に答える
811 参照

python - Pytorch Lightning を使用しているときにメトリクス (検証損失など) を TensorBoard に記録する方法は?

私は Pytorch Lightning を使用して (GPU デバイス上で DDP を使用して) モデルをトレーニングしており、TensorBoard は Lightning で使用されるデフォルトのロガーです。

私のコードは、トレーニングと検証の各ステップでそれぞれトレーニングと検証の損失を記録するように設定されています。

TensorBoard はタブにtrain_lossval_lossチャートの両方を正しくプロットしSCALERSます。ただし、HPARAMS左側のサイド バーのタブでは、 のhp_metric下にしか表示されませんMetrics

ここに画像の説明を入力

ただし、HPARAMS左側のサイド バーのタブでは、 のhp_metric下にしか表示されませんMetrics

ここに画像の説明を入力

セクションにtrain_lossval_lossを追加するにはどうすればよいですか? このようにして、 の代わりにMetricsを使用できるようになります。val_lossPARALLEL COORDINATES VIEWhp_metric

画像表示hp_metricとなしval_loss: ここに画像の説明を入力

Pytorch 1.8.1、Pytorch Lightning 1.2.6、TensorBoard 2.4.1 の使用