TensorFLow:tf.contrib.rnn 模块对象不可调用
TensorFLow: tf.contrib.rnn module object is not callable
我正在尝试 运行 一个教程 (http://r2rt.com/recurrent-neural-networks-in-tensorflow-ii.html),但对已移动的模块有一些问题。
我研究了一下,发现一些 类 已经移动和固定:
tf.nn.rnn_cell.BasicRNNCell(state_size)
到
tf.contrib.rnn.BasicRNNCell(state_size) (that should be correct right?)
现在有效。
但是,我有这个功能我似乎无法修复:
rnn_outputs, final_state = tf.nn.rnn(cell, rnn_inputs, initial_state=init_state)
--> as expected, says: module 'tensorflow.python.ops.nn' has no attribute 'rnn'
所以我尝试了:
rnn_outputs, final_state = tf.contrib.rnn(cell, rnn_inputs, initial_state=init_state)
但那表示:'module' 对象不可调用
我正在使用 python3(也尝试过 2),通过 pip3 全新安装了 TensorFlow 1.0.0。
我试着查看 API,但这对我来说意义不大,因为我仍在阅读教程以尝试了解发生了什么。我想也许论点已经改变,或者这可能现在在一个子函数中? https://www.tensorflow.org/api_docs/python/tf/contrib/rnn
也许您如何导入它很重要。这样做:
from tensorflow.python.ops import rnn, rnn_cell
然后使用以下内容:
cell = rnn_cell.BasicRNNCell(state_size)
rnn_outputs, final_state = rnn.rnn(cell, rnn_inputs, initial_state=init_state)
我以这种方式将它用于 LSTM 单元并且它有效:)
我在我的数据上找到了(和 运行)TensorFlow 更新脚本。
要修复剩余的错误,只需更改 tf.nn.rnn_cell。至 tf.contrib.rnn,现在可以使用了!
张量流在这里有一些文档:
https://www.tensorflow.org/api_guides/python/contrib.rnn
rnn 是 contrib 模块的一部分。因此,如果将其更改为 tf.contrib.rnn 是向前迈出的一大步,但会出现错误:
类型错误:'module' 对象不可调用
在文档中我们有几个循环神经网络选项:
tf.contrib.rnn.static_rnn
tf.contrib.rnn.static_state_saving_rnn
tf.contrib.rnn.static_bidirectional_rnn
tf.contrib.rnn.stack_bidirectional_dynamic_rnn
对我来说,
tf.contrib.rnn.static_rnn
成功了。
我正在尝试 运行 一个教程 (http://r2rt.com/recurrent-neural-networks-in-tensorflow-ii.html),但对已移动的模块有一些问题。
我研究了一下,发现一些 类 已经移动和固定:
tf.nn.rnn_cell.BasicRNNCell(state_size)
到
tf.contrib.rnn.BasicRNNCell(state_size) (that should be correct right?)
现在有效。
但是,我有这个功能我似乎无法修复:
rnn_outputs, final_state = tf.nn.rnn(cell, rnn_inputs, initial_state=init_state)
--> as expected, says: module 'tensorflow.python.ops.nn' has no attribute 'rnn'
所以我尝试了:
rnn_outputs, final_state = tf.contrib.rnn(cell, rnn_inputs, initial_state=init_state)
但那表示:'module' 对象不可调用
我正在使用 python3(也尝试过 2),通过 pip3 全新安装了 TensorFlow 1.0.0。
我试着查看 API,但这对我来说意义不大,因为我仍在阅读教程以尝试了解发生了什么。我想也许论点已经改变,或者这可能现在在一个子函数中? https://www.tensorflow.org/api_docs/python/tf/contrib/rnn
也许您如何导入它很重要。这样做:
from tensorflow.python.ops import rnn, rnn_cell
然后使用以下内容:
cell = rnn_cell.BasicRNNCell(state_size)
rnn_outputs, final_state = rnn.rnn(cell, rnn_inputs, initial_state=init_state)
我以这种方式将它用于 LSTM 单元并且它有效:)
我在我的数据上找到了(和 运行)TensorFlow 更新脚本。
要修复剩余的错误,只需更改 tf.nn.rnn_cell。至 tf.contrib.rnn,现在可以使用了!
张量流在这里有一些文档: https://www.tensorflow.org/api_guides/python/contrib.rnn
rnn 是 contrib 模块的一部分。因此,如果将其更改为 tf.contrib.rnn 是向前迈出的一大步,但会出现错误: 类型错误:'module' 对象不可调用
在文档中我们有几个循环神经网络选项:
tf.contrib.rnn.static_rnn
tf.contrib.rnn.static_state_saving_rnn
tf.contrib.rnn.static_bidirectional_rnn
tf.contrib.rnn.stack_bidirectional_dynamic_rnn
对我来说,
tf.contrib.rnn.static_rnn
成功了。