問題タブ [ctc]
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 - CTC + BLSTM アーキテクチャが最初のエポックの前にストール/ハングする
オンラインの手書き認識を認識するコードに取り組んでいます。CTC 損失関数と Word Beam Search で動作します (カスタム実装: githubharald)
TF バージョン: 1.14.0
使用されるパラメータは次のとおりです。
私が直面している問題は、デコーダーを CTC Greedy Decoder から Word Beam Search に変更した後、特定のステップの後でコードが停止することです。最初のエポックの出力は表示されず、現在約 5 ~ 6 時間スタックしています。
後にスタックするステップ:tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcublas.so.10
トレーニングに Nvidia DGX-2 を使用しています(名前: Tesla V100-SXM3-32GB)
python - Keras/Tensorflow のカスタム CTC 損失関数
何かを根本的に誤解しているように感じます。Kerasのドキュメントを調べても役に立ちませんでした。ニューラル ネットワークに ctc_batch_cost 損失を実装しようとしています。私のニューラル ネットワークは、4 + 1 シンボルのソフトマックス出力を使用してシーケンスを高密度レイヤーに返す LSTM レイヤーで終了します。出力形状には 20 の時間ステップがあり、次のようになります。
私のラベルは、可変長の、出力されるべき単なる文字列です。
CTC関数での私の試みは次のとおりです。
もちろん、現在、Tensorflow は現在、次のエラーを出しています:
コンパイル時にsamples
will などの変数があるため、これは理解できますNone
。しかし、私はこれをどのように使用するかについて途方に暮れています。ヒントをいただければ幸いです。簡単に修正するだけでなく、何が起こっているのかを理解したいのです。プレースホルダーをテストしNone
て返そうとしましたが、それも機能せず、そもそもハックのように感じました。
ありがとうございました
deep-learning - CTC を使用した音声認識で一般的に使用されるプレフィックス ビーム検索を、これほど簡単な方法で実装できますか?
私は最近音声認識について学んでおり、接頭辞ビーム検索[1,1,_]
の考え方は、 andなどの同じ接頭辞を持つパスをマージすることであることを学びました[_,1,_]
(ご覧のとおり、_
空白マークを示します)。
この理解に基づいて、次のような擬似コードを使用して簡略化できる私のバージョンを実装しました。
しかし、私がオンラインで見つけたほとんどのバージョン (紙によると) は次のようなものです。
2 つの結果は異なり、私のバージョンはより長い文字列を返す傾向があります。そして、私は主な2つの側面をよく理解していません:
- 私のバージョンの詳細で、考慮されていないものはありますか?
new_prefix = prefix + (i,)
共通バージョンは、前の末尾が指定された「s」と同じであるかどうかに関係なく、新しいプレフィックスを生成します。たとえば、古いプレフィックスは[a,a,b]
and で、新しい文字 s が追加されると、両方とも[a,a,b]
保存[a,a,b,b]
されます。これだとしたら何の目的でしょうか?そして、それは二重カウントを引き起こしますか?
回答をお待ちしております。よろしくお願いします。