【问题标题】:How to use Cudnn LSTM instead of a normal LSTM如何使用 Cudnn LSTM 而不是普通的 LSTM
【发布时间】:2019-10-12 08:58:09
【问题描述】:

我一直在做一个命名实体识别任务。我在两者之间有以下代码

with tf.variable_scope("Bi-lstm"):
        cell_fw = tf.contrib.rnn.LSTMCell(hidden_size)
        cell_bw = tf.contrib.rnn.LSTMCell(hidden_size)
        (output_fw, output_bw), _ = tf.nn.bidirectional_dynamic_rnn(cell_fw, 
            cell_bw, self.word_embeddings, sequence_length=self.sequence_lengths, 
            dtype=tf.float32)

现在我想使用 Cudnn LSTM 而不是普通的 LSTM。在 Cudnn LSTM 的文档中,有一个附加参数“num_layers”。我不明白这是什么以及如何进一步进行

【问题讨论】:

    标签: python-3.x tensorflow lstm


    【解决方案1】:

    如果你使用的是TF不确定是什么版本,但是在TF 2.0文档中,你需要使用:

    tf.keras.layers.LSTM
    

    代替:

    tf.keras.layers.LSTMCell
    

    https://www.tensorflow.org/guide/keras/rnn#using_cudnn_kernels_when_available

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-27
      • 1970-01-01
      • 2018-10-24
      • 2020-08-04
      • 2017-12-20
      • 2020-04-16
      • 1970-01-01
      • 2020-10-31
      相关资源
      最近更新 更多