問題タブ [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-3.x - TypeError: Seq2Seq で _thread.lock オブジェクトをピクルできません
Tensorflow モデルでバケットを使用するのに問題があります。で実行するとbuckets = [(100, 100)]
、正常に動作します。私がそれを実行すると、buckets = [(100, 100), (200, 200)]
まったく機能しません(一番下のスタックトレース)。
興味深いことに、Tensorflow の Seq2Seq チュートリアルを実行すると、ほぼ同じスタックトレースで同じ種類の問題が発生します。テスト目的のため、リポジトリへのリンクはこちらです。
問題が何であるかはわかりませんが、複数のバケットがあると常にトリガーされるようです。
このコードはスタンドアロンとしては機能しませんが、これがクラッシュする関数です。buckets
から[(100, 100)]
に変更[(100, 100), (200, 200)]
するとクラッシュが発生することに注意してください。
スタックトレース:
tensorflow - Seq2seq 複数入力機能 (複数の単語/単語トークンを入力として渡す)
追加の機能トークンを既存の単語トークン (トレーニング機能/ソース ファイルの語彙) と共に渡し、それを seq2seq のエンコーダー RNN に供給する方法はありますか? そのため、現在、文から一度に 1 つの単語トークンのみを受け入れます。
これをもっと具体的に言いましょう。機械翻訳/nmt の例を考えてみましょう - 対応するソース語彙セット (ここでは Feature1) に対してさらに 2 つの機能列があるとします。たとえば、次のように考えてください。
要約すると、現在 seq2seq データセットは並列データ コーパスであり、ソース フィーチャ (語彙、つまり Feature1 のみ) とターゲット (ラベル/語彙) の間に 1 対 1 のマッピングがあります。複数の機能 (つまり、機能 1、機能 2、機能 3) をターゲット (ラベル/語彙) にマップする方法を探しています。
さらに、以下に引用されているように、これは seq2seq-pytorch チュートリアル ( https://github.com/spro/practical-pytorch/blob/master/seq2seq-translation/seq2seq-translation.ipynb ) で説明されていると思います。
単一の RNN を使用する場合、入力と出力の間に 1 対 1 の関係があります。変換中に一般的な異なるシーケンスの順序と長さの問題にすぐに遭遇します.seq2seqモデルでは、多くの入力を1つのベクトルにエンコードし、1つのベクトルから多くの出力にデコードすることにより、シーケンスの制約から解放されます.順番と長さ。エンコードされたシーケンスは、シーケンスの N 次元空間内の単一の点である単一のベクトルによって表されます。理想的なケースでは、この点がシーケンスの「意味」と見なすことができます。
さらに、テンソルフローを試してみましたが、デバッグして適切な変更を加えるのに多くの時間がかかり、どこにも行きませんでした。また、同僚から、pytorch にはそのような柔軟性があり、チェックする価値があると聞いています。
tensorflow または pytorch で同じことを達成する方法についての考えを共有してください。これを実際に実装/実行する方法を誰かが教えてくれるとうれしいです。前もって感謝します。