私はtf.PaddingFIFOQueue
またはtf.contrib.data.PaddedBatchDataset
を使用してさまざまな長さのシーケンスを送り、dequeue_many
を使用して、0パッドのバッチを取り出します。PaddingFIFOQueueから動的シーケンスの長さを取得
このバッチのシーケンス長を取得する一般的な方法はありますか?
私の現在の解決策は、系列長をキューに追加入力として明示的に提供することです。すなわち、私はtf.PaddingFIFOQueue(names=["data", "seq_length"], ...)
のようなsthを持っています。私もtf.ones_like()
を使用することができますが、私の現在の方法は安く簡単です。しかし、それが正規/標準的な方法であるのか、それとも別の方法があるのだろうかと思います。
あなたの質問をいくつかのコードで説明できますか?結果のテンソルの '.get_shape()'があなたの場合にはうまくいかないのはなぜですか? – sygi
@sygi:get_shapeはゼロパディングされているため、(batch、max_length、...)を返します。では、どのように各シーケンスの長さを取得するのですか? – Albert
元の文章の末尾に0がないと仮定できますか? – sygi