tf.nn.dynamic_rnn() 在 Google Cloud Datalab 中使用时返回错误

tf.nn.dynamic_rnn() returning error when used in Google Cloud Datalab

我正尝试在 Google Cloud Datalab 上 运行 RNN。同一网络 运行 在我的计算机上正确运行,但是当我在 Datalab 上 运行 时,出现以下错误:

TypeError: dynamic_rnn() 需要至少 3 个参数(给定 3 个)

dynamic_rnn()的使用方法如下:

rnn_outputs, state = tf.nn.dynamic_rnn(cells, inputs, 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

非常感谢。

dynamic_rnn 似乎没有在 tensorflow 0.7 的 api docs 中列出。

下一步,您可以尝试以下选项之一:

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

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