2017-05-01 3 views
0

J'ai installé Tensorflow Serving comme indiqué sur la page d'installation au https://tensorflow.github.io/serving/setup. Cependant, quand je suivre les instructions de construction sur la page que je reçois l'erreur suivante:TensorFlow Erreur de traitement

$ 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 

Je cours sur Ubuntu et tensorflow 1.0.1 build. J'utilise Python 2.7 et ai mis en place un virtualenv.

Je peux construire avec succès l'exemple de bazel hello et suis également capable de compléter le démarrage rapide de gRPC trouvé au http://www.grpc.io/docs/quickstart/python.html.

Des suggestions?

-Dave

Répondre

1

Le problème était une ancienne copie de Bazel. Pour déterminer votre 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 

Dans mon cas, il a fallu une suppression manuelle de l'ancienne version

rm -fr ~/.bazel ~/.bazelrc 

Ensuite, j'ai choisi l'installer à l'aide du programme d'installation pour 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) 

Il y avait encore une autre astuce pour le faire fonctionner.

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

Cette erreur est également liée à la gestion des versions, mais dans ce cas, cela a été un problème avec le service. La solution était de revenir à une version antérieure et de mettre à jour le sous-module de git (j'avais précédemment cloné le référentiel). A partir du répertoire au service:

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

service fait maintenant rapport succès:

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