4

私はhttps://github.com/tensorflow/models/tree/master/syntaxnetに行き、それが言うすべてをしました。

これを実行してテストしました:

bazel test --linkopt=-headerpad_max_install_names \
    syntaxnet/... util/utf8/...

テストに合格したのは 6 回で、失敗したのは 6 回だけでした。

しかし、デモを実行するとエラーが発生します。

User:syntaxnet hk$ echo "Parsey McParseface is my favorite parser" | syntaxnet/demo.sh

Traceback (most recent call last):
  File "/git/models/syntaxnet/bazel-bin/syntaxnet/conll2tree.runfiles/syntaxnet/conll2tree.py", line 20, in <module>
    import tensorflow as tf
  File "/git/models/syntaxnet/bazel-bin/syntaxnet/conll2tree.runfiles/external/tf/tensorflow/__init__.py", line 23, in <module>
    from tensorflow.python import *
  File "/git/models/syntaxnet/bazel-bin/syntaxnet/conll2tree.runfiles/external/tf/tensorflow/python/__init__.py", line 45, in <module>
    from tensorflow.python import pywrap_tensorflow
ImportError: cannot import name pywrap_tensorflow
Traceback (most recent call last):
Traceback (most recent call last):
  File "/git/models/syntaxnet/bazel-bin/syntaxnet/parser_eval.runfiles/syntaxnet/parser_eval.py", line 23, in <module>
  File "/git/models/syntaxnet/bazel-bin/syntaxnet/parser_eval.runfiles/syntaxnet/parser_eval.py", line 23, in <module>
    import tensorflow as tf
  File "/git/models/syntaxnet/bazel-bin/syntaxnet/parser_eval.runfiles/external/tf/tensorflow/__init__.py", line 23, in <module>
    import tensorflow as tf
  File "/git/models/syntaxnet/bazel-bin/syntaxnet/parser_eval.runfiles/external/tf/tensorflow/__init__.py", line 23, in <module>
    from tensorflow.python import *
  File "/git/models/syntaxnet/bazel-bin/syntaxnet/parser_eval.runfiles/external/tf/tensorflow/python/__init__.py", line 45, in <module>
    from tensorflow.python import *
  File "/git/models/syntaxnet/bazel-bin/syntaxnet/parser_eval.runfiles/external/tf/tensorflow/python/__init__.py", line 45, in <module>
    from tensorflow.python import pywrap_tensorflow
ImportError:     from tensorflow.python import pywrap_tensorflow
cannot import name pywrap_tensorflow
ImportError: cannot import name pywrap_tensorflow

どうしたの?demo.sh は、配置されている場所とは異なる場所でそれらの python インポートを探していますか?

4

2 に答える 2

3

解決しました。bazel インストールのいくつかの手順、特に「bash の完了を取得する」が抜けていました。それはjdk7だけだと思っていました。

于 2016-05-21T17:21:39.597 に答える
2

bazel コマンドを使用して、SyntaxNet のビルドとテストをもう一度試してください。bazel が自分のマシンで python dir を見つけられないという、これとよく似たエラーが発生しました。python dir の場所を何度か探した後、bazel は SyntaxNet のビルドとテストを 1 回失敗したテスト (bazel によると localhost エラー) で終了し、demo.sh は正常に動作しました。

Syntaxnet のビルドとテストをもう一度試みましたが、今回は 12 のテストに合格しました。

INFO: Elapsed time: 88.935s, Critical Path: 31.63s
//syntaxnet:arc_standard_transitions_test                       (cached) PASSED in 3.5s
//syntaxnet:beam_reader_ops_test                                (cached) PASSED in 20.6s
//syntaxnet:graph_builder_test                                  (cached) PASSED in 21.4s
//syntaxnet:lexicon_builder_test                                (cached) PASSED in 8.7s
//syntaxnet:parser_features_test                                (cached) PASSED in 0.7s
//syntaxnet:parser_trainer_test                                 (cached) PASSED in 36.4s
//syntaxnet:reader_ops_test                                     (cached) PASSED in 6.0s
//syntaxnet:sentence_features_test                              (cached) PASSED in 1.6s
//syntaxnet:tagger_transitions_test                             (cached) PASSED in 1.6s
//syntaxnet:text_formats_test                                   (cached) PASSED in 8.7s
//util/utf8:unicodetext_unittest                                (cached) PASSED in 5.6s
//syntaxnet:shared_store_test                                            PASSED in 6.0s

Executed 1 out of 12 tests: 12 tests pass.

そして、役立つかもしれないbazelからのこの追加のリマインダーがあります:

There were tests whose specified size is too big. Use the --test_verbose_timeout_warnings command line option to see which ones these are.

お役に立てれば。

于 2016-05-18T09:03:47.437 に答える