2016-07-28 70 views
1

我试图在Google Cloud Datalab上运行RNN。同样的网络正常运行我的电脑上,但是当我在Datalab运行它,我得到以下错误:tf.nn.dynamic_rnn()在Google Cloud Datalab中使用时返回错误

类型错误:dynamic_rnn()至少需要3个参数(3给出)

使用dynamic_rnn的( )如下:

rnn_outputs,状态= tf.nn.dynamic_rnn(细胞,输入,initial_state = initial_state_placeholder)

这是一个tensorflow版本问题。在我的电脑上,我使用的是来自Ubuntu的最新GPU pip安装的tensorflow-0.9.0。 Cloud Datalab可能使用了不同的版本,其中dynamic_rnn()的使用稍有变化?

更新:检查了导入到Datalab中的tensorflow版本 - 它是0.7.1。如果这是导致问题的原因,我认为没有办法导入新版本?

我正在关注的方向在这里使用: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/api_docs/python/functions_and_classes/shard8/tf.nn.dynamic_rnn.md

非常感谢。

+0

请通过在Datalab笔记本中的电池运行下面的代码检查tensorflow的版本: '进口tensorflow作为tf'其次是' tf .__ version__' –

+0

检查了版本 - 它是0.7.1。这个版本是否可能包含dynamic_rnn版本?我认为没有办法将更新的版本导入到datalab中吗? – fjhj2

回答

1

dynamic_rnn似乎没有列在张量流0.7的api docs中。

作为下一个步骤,你可以尝试下列选项之一:

  • 部署Datalab的新版本。这是推荐的选项。最新版本使用tensorflow 0.9.0。
  • 通过在Datalab笔记本中运行以下命令将tensorflow升级到版本0.9.0。请参阅我在以下stackoverflow post中的解释,解释为什么不推荐这样做(但可能会起作用)。

为tensorflow版本0.9.0注意使用:

%%bash 
wget https://storage.googleapis.com/cloud-datalab/deploy/tf/tensorflow-0.9.0-cp27-none-linux_x86_64.whl && pip install --ignore-installed --no-deps tensorflow-0.9.0-cp27-none-linux_x86_64.whl && rm tensorflow-0.9.0-cp27-none-linux_x86_64.whl 
+1

非常感谢您的帮助。 – fjhj2