2017-05-01 109 views
0

我已經安裝了Tensorflow服務,如安裝頁面上概述的https://tensorflow.github.io/serving/setup。然而,當我按照頁面上生成指令我得到以下錯誤:TensorFlow服務錯誤

$ bazel build tensorflow_serving/... 

ERROR: /home/**PATH**/external/org_tensorflow/third_party/py/python_configure.bzl:183:20: unexpected keyword 'environ' in call to repository_rule(implementation: function, *, attrs: dict or NoneType = None, local: bool = False). 
ERROR: com.google.devtools.build.lib.packages.BuildFileContainsErrorsException: error loading package '': Extension file 'third_party/py/python_configure.bzl' has errors. 
INFO: Elapsed time: 0.623s 

我在Ubuntu和TensorFlow 1.0.1內部版本。我正在使用Python 2.7並建立了一個virtualenv。

我可以成功構建bazel hello示例,也可以完成在http://www.grpc.io/docs/quickstart/python.html找到的gRPC快速入門。

有什麼建議嗎?

-Dave

回答

1

麻煩是舊的bazel副本。要確定你的版本

$ bazel version 
Build label: 0.4.5 
Build target: bazel-out/local-fastbuild/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar 
Build time: Thu Mar 16 12:19:38 2017 (1489666778) 
Build timestamp: 1489666778 
Build timestamp as int: 1489666778 

在我的情況下,它需要手動刪除舊版本

rm -fr ~/.bazel ~/.bazelrc 

接下來,我選擇使用Ubuntu的安裝程序安裝。

$ ./bazel-0.4.5-installer-linux-x86_64.sh 
Bazel installer 
--------------- 

Bazel is bundled with software licensed under the GPLv2 with Classpath exception. 
You can find the sources next to the installer on our release page: 
    https://github.com/bazelbuild/bazel/releases 

# Release 0.4.5 (2017-03-16) 

有另一個把戲得到它的工作。

$cd .. 
$ bazel test tensorflow_serving/... 
Python Configuration Error: 'PYTHON_BIN_PATH' environment variable is not set 

此錯誤也與版本控制相關,但在這種情況下,這是服務問題。解決方案是恢復到早期版本,並從git更新子模塊(我以前曾克隆過存儲庫)。從服務目錄:

$ git checkout 0.5.1 
M tensorflow 
M tf_models 
Note: checking out '0.5.1'. 

You are in 'detached HEAD' state. You can look around, make experimental 
changes and commit them, and you can discard any commits you make in this 
state without impacting any branches by performing another checkout. 

If you want to create a new branch to retain commits you create, you may 
do so (now or later) by using -b with the checkout command again. Example: 

    git checkout -b <new-branch-name> 

HEAD is now at 51bb356... Merge pull request #325 from kirilg/0.5.1 
(tensorflow) $ git submodule update 
Submodule path 'tensorflow': checked out '07bb8ea2379bd459832b23951fb20ec47f3fdbd4' 
Submodule path 'tf_models': checked out '2fd3dcf3f31707820126a4d9ce595e6a1547385d' 
(tensorflow) $ bazel test tensorflow_serving/... 

現供職報告成功:

INFO: Found 199 targets and 57 test targets... 
[1,299/4,037] Still waiting for 200 jobs to complete: 
     Running (standalone):