【问题标题】:Tensorflow error in import tf.nn.rnn_cell导入 tf.nn.rnn_cell 中的 TensorFlow 错误
【发布时间】:2017-07-08 15:37:37
【问题描述】:

我正在使用 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'

有人可以帮我吗?

【问题讨论】:

    标签: machine-learning tensorflow deep-learning recurrent-neural-network


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      我在 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.nn.rnn_cell.MultiRNNCell 替换为tf.compat.v1.nn.rnn_cell.MultiRNNCell,然后效果很好。 请将tf.nn.rnn_cell.BasicRNNCell(state_size) 替换为tf.compat.v1.nn.rnn_cell.BasicRNNCell(state_size)

      【讨论】:

      • 这对我有用,奇怪的是在一些 tf 官方页面上导入只是 nn.rnn 而不是 nn.rnn_cell
      猜你喜欢
      • 2017-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-03
      • 1970-01-01
      • 1970-01-01
      • 2018-11-17
      • 1970-01-01
      相关资源
      最近更新 更多