如何运行张量流 seq2seq 演示

Rus*_*ell 5 tensorflow

我安装了张量流并成功通过了 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.
Run Code Online (Sandbox Code Playgroud)

这并不奇怪,因为让 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
Run Code Online (Sandbox Code Playgroud)

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

我尝试跑步的最后一件事,

$ 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
Run Code Online (Sandbox Code Playgroud)

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

小智 4

运行脚本有两种方法:

1) 用 -- 分隔脚本参数作为 bazel run 的一部分

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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)