私はLSTMネットワークをスピードアップしたいと思いますが、OCR(シーケンスに可変長がある)に使用しているので、私はプレーンなLSTM実装を使用できません。それが私が "tf.nn.dynamic_rnn"を使う理由です。TensorFlow:CudnnLSTMを可変長(dynamic_rnnなど)で使用する方法は?
テンソルフロー(https://github.com/tensorflow/tensorflow/blob/754048a0453a04a761e112ae5d99c149eb9910dd/tensorflow/contrib/cudnn_rnn/python/kernel_tests/cudnn_rnn_ops_benchmark.py#L77)のRNNのベンチマークに基づいて、CUDNNの実装はすべてのモデルを一度に作成するために使用されます(他のものと同様に "tf.nn.rnn"構造は使用されません)。可変長のCUDNNを使用するのはおそらく不可能だと思いますが、誰かが成功するかもしれませんか?
2番目に、「tf.nn.bidirectional_dynamic_rnn」を使用しています。これは、OCRにBi-LSTMを使用したいからです。しかし、これは最初の部分を実装した後で解決する必要があります。
編集:「tf.contrib.cudnn_rnn.CudnnLSTM」の内部に「双方向」実装があります。したがって、CUDNNは可変入力シーケンスで使用できるということは唯一不明です。
「CudnnLSTM」を使用している実例は役に立ちます。
ここCudnnLSTM事業者のためのテストを見てみましょう:https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/cudnn_rnn/python/kernel_tests/ cudnn_rnn_ops_test.py。彼らはあなたの質問に答えるのを助けますか? –