問題タブ [sequence-to-sequence]
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 - Dense_vector_sequence を SeqToseq モデルにフィードすると、パドルがエラーをスローするのはなぜですか?
paddle-paddle
( https://github.com/baidu/Paddle ) を使用して、(エンコーダー - デコーダー) シーケンスを POS タグ付け用のシーケンス モデルにトレーニングしようとしています。
しかし、入力として単語インデックスのワンホット埋め込みを使用する代わりに、numpy
. の関数のsettings
変数に単語ベクトルを追加しました。hook()
dataprovider.py
そして、文とその POS タグを反復処理すると、https://github.com/alvations/rowrow/blob/master/dataprovider.py#L66の単語インデックスではなく、これらの架空のベクトルが得られました。
シーケンスからシーケンスへのモデルでは、入力 (aka data_layer()
) はワンホット埋め込みではないため、埋め込みレイヤーを使用してワンホット ベクトルをラップすることはありません。しかし、代わりに、完全に接続されたレイヤーを使用して、ベクトル入力をエンコーダー サイズに絞り込みます。
通常、埋め込みレイヤーは次のようになります。
train.sh
. _
ただし、次のバッチをフェッチするときにエラーがスローされます。
Paddle のgitter.imで問い合わせてみましたが、応答がありません。
誰か知っていますか:
- エラーはどういう意味ですか?
- PaddleのseqToseqモデルに密なベクトルシーケンスを供給する方法は?
- Dense_vector_sequence を SeqToseq モデルにフィードするときに Paddle がこのエラーをスローするのはなぜですか?
tensorflow - Tensorflow での注意の活性化の可視化
TensorFlow のモデルで、上記のリンク (Bahdanau et al., 2014 から) の図のような入力の注意の重みを視覚化する方法はありseq2seq
ますか? これに関するTensorFlow の github の問題を見つけましたが、セッション中にアテンション マスクを取得する方法を見つけることができませんでした。
python - デコード中に TensorFlow の seq2seq サンプル コードを使用してアテンション マトリックスを抽出する
sequence-to-sequence コードのサンプル TensorFlow コードの seq2seq_model.py コードでアテンション マスクを計算するために使用される Attention() メソッドは、デコード中に呼び出されないようです。
これを解決する方法を知っている人はいますか?ここで同様の質問が提起されました: Tensorflowで注意活性化を視覚化する 、しかし、デコード中にマトリックスを取得する方法は明確ではありません。
ありがとう!
tensorflow - tensorflow で、dynamic_decode からの出力を使用してシーケンス ロスを計算する方法
仲間の tensorflowers さん、こんにちは。TF1.0 および 1.1 で開発およびリリースされている新しい seq2seq モジュールを使用して、シーケンスからシーケンスへのモデルを実装しようとしています。ここには、rnn_output の形式でロジットを返すdynamic_decode 関数があります。次に、rnn の出力を使用して損失を計算する必要があります。(rnn_output, weights, logits) で tf.contrib.seq2seq.loss.sequence_loss を呼び出すだけで、単純に実行すると、次のようにクラッシュします。
rnn_output は動的に整形されているため、これは当然のことです。可能な解決策は 2 つあります。1. 動的テンソルを最大許容長に等しいサイズのテンソルに「パック」します。動的テンソルを固定サイズのテンソルにパックする方法はわかりませんが、おそらく動的形状の新しいインターフェイスである tf.while_loop と TensorArrays をうまく処理する必要があります。2. sequence_loss を動的に計算する。しかし、内部テンソルフローの実装に関する私の知識はあまりにも限られているため、それが簡単に実行できるかどうかを正しく評価できません。ここに何か提案はありますか?
一般的な質問
dynamic_decode の動的に整形された rnn_output からサンプル/通常のソフトマックス クロスエントロピー損失を計算する正しいアプローチは何ですか?
次のコードがあります。
ipdb>tf. バージョン'1.1.0-rc0'
パイソン: 2.7