2017-05-01 7 views
0

Ich habe Tensorflow-Serving wie auf der Installationsseite unter https://tensorflow.github.io/serving/setup beschrieben installiert. Allerdings, wenn ich die Build-Anweisung auf der Seite folgen bekomme ich folgende Fehlermeldung:TensorFlow-Serving-Fehler

$ 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 

ich auf Ubuntu und TensorFlow 1.0.1 build leite. Ich benutze Python 2.7 und habe ein virtualenv eingerichtet.

Ich kann erfolgreich das Bazel Hallo Beispiel und auch in der Lage, die gRPC Schnellstart bei http://www.grpc.io/docs/quickstart/python.html gefunden zu vervollständigen.

Irgendwelche Vorschläge?

-Dave

Antwort

1

Das Problem war eine alte Kopie von bazel. Um zu bestimmen, Ihre Version

$ 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 

In meinem Fall ist es, eine manuelle Entfernung der alten Version erforderlich

rm -fr ~/.bazel ~/.bazelrc 

Als nächstes habe ich das mit dem Installationsprogramm für Ubuntu installieren.

$ ./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) 

Es gab noch einen Trick, um es zum Laufen zu bringen.

Dieser Fehler bezieht sich auch auf Versionierung, aber in diesem Fall war es ein Problem mit Serving. Die Lösung bestand darin, zu einer früheren Version zurückzukehren und das Submodul von git zu aktualisieren (ich hatte zuvor das Repository geklont). Aus dem Serving-Verzeichnis:

$ 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/... 

jetzt Serving berichtet Erfolg:

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