如何 运行 张量流 seq2seq 演示

How to run tensor flow seq2seq demo

我安装了张量流并成功完成了 MNIST 演示。现在,我正在尝试 运行 seq2seq demo,但这对我不起作用。

我克隆了他们的 github 存储库的一个版本,并尝试从存储库根目录中 运行 一些列出的命令。

$ bazel run -c opt ./tensorflow/models/rnn/translate/translate.py 
    ERROR: Bad target pattern './tensorflow/models/rnn/translate/translate.py': package names may contain only A-Z, a-z, 0-9, '/', '-' and '_'.
    INFO: Elapsed time: 0.115s
    ERROR: Build failed. Not running target.

这并不奇怪,因为让 bazel 执行 python 脚本真的没有意义。

在教程的后面,

$ bazel run -c opt //tensorflow/models/rnn/translate:translate \
  --data_dir ./data_dir --train_dir ./checkpoints_directory \
  --en_vocab_size=40000 --fr_vocab_size=40000

Unrecognized option: --data_dir

如果我从上面的调用中删除参数,它将在执行 translate 之前尝试(并失败)构建整个张量流项目。这不是我想要的,因为我已经使用 pip 成功安装了张量流。

我尝试的最后一件事 运行ning,

$ python ./tensorflow/models/rnn/translate/translate.py 
Traceback (most recent call last):
  File "./tensorflow/models/rnn/translate/translate.py", line 28, in <module>
    from tensorflow.models.rnn.translate import data_utils
ImportError: No module named translate

环境信息:OS X 10.11.1,Python 2.7.10 (anaconda)

有两种方法可以运行脚本:

1) 作为 bazel 运行

的一部分,用 -- 分隔脚本参数
bazel run -c opt //tensorflow/models/rnn/translate:translate -- \
--data_dir ./data_dir --train_dir ./checkpoints_directory \
--en_vocab_size=40000 --fr_vocab_size=40000

2) 从 ./bazel-bin/:

构建然后 运行
bazel build -c opt //tensorflow/models/rnn/translate:translate

./bazel-bin/tensorflow/models/rnn/translate/translate \
--data_dir ./data_dir --train_dir ./checkpoints_directory \
--en_vocab_size=40000 --fr_vocab_size=40000