导入时出现 Tensorflow 错误 tf.nn.rnn_cell

Tensorflow error in import tf.nn.rnn_cell

我正在使用 Tensorflow 1.0.0 和 Python 3.5。 当我尝试这样做时:

cell = tf.nn.rnn_cell.BasicRNNCell(state_size)

我收到以下错误:

属性错误

  <ipython-input-25-41a20d8458a7> in <module>()

      1 # Forward pass
      2 print(tf.__version__)
  --->3 cell = tf.nn.rnn_cell.BasicRNNCell(state_size)
      4 states_series, current_state = tf.nn.dynamic_rnn(cell, inputs_series, initial_state = init_state)
  AttributeError: module 'tensorflow.python.ops.nn' has no attribute 'rnn_cell'

有人可以帮助我吗?

TensorFlow 在 1.0 之前更改了很多 API。

您需要将 tf.nn.rnn_cell.BasicLSTMCell 替换为 tf.contrib.rnn.BasicLSTMCell

我在 tensorflow 2.1 中遇到同样的问题,当我使用此代码时:

rnn_cells = tf.nn.rnn_cell.MultiRNNCell(
            [lstm_cell(size_layer) for _ in range(num_layers)],
            state_is_tuple = False,
        )

我遇到了这个错误:

AttributeError: module 'tensorflow_core._api.v2.nn' has no attribute 'rnn_cell'

最后,我用tf.compat.v1.nn.rnn_cell.MultiRNNCell替换了tf.nn.rnn_cell.MultiRNNCell,然后效果很好。 请将 tf.nn.rnn_cell.BasicRNNCell(state_size) 替换为 tf.compat.v1.nn.rnn_cell.BasicRNNCell(state_size)