web-dev-qa-db-fra.com

Erreur lors de la compilation de Tensorflow à partir de la source - Aucun module nommé 'keras_applications'

J'essaie de créer tensorflow à partir de la source avec des optimisations MKL sur une configuration de processeur Intel. J'ai suivi les instructions officielles ici jusqu'à la commande bazel build --config=mkl --config=opt //tensorflow/tools/pip_package:build_pip_package

Malheureusement, la compilation est exécutée pendant un certain temps puis échoue. J'apprécierais toute aide à ce sujet.

Journal de sortie mis à jour (avec bazel --verbose_failures):

   ERROR: /home/jok/build/tensorflow/tensorflow/BUILD:584:1: Executing genrule //tensorflow:tensorflow_python_api_gen failed (Exit 1): bash failed: error executing command 
  (cd /home/jok/.cache/bazel/_bazel_jok120/737f8d6dbadde71050b1e0783c31ea62/execroot/org_tensorflow && \
  exec env - \
    LD_LIBRARY_PATH=LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64/:/usr/local/cuda-9.0/extras/CUPTI/lib64 \
    PATH=/home/jok/.conda/envs/tf_mkl/bin:/home/jok/bin:/opt/anaconda3/bin:/usr/local/bin:/bin:/usr/bin:/snap/bin:/home/jok/bin \
  /bin/bash -c 'source external/bazel_tools/tools/genrule/genrule-setup.sh; bazel-out/Host/bin/tensorflow/create_tensorflow.python_api --root_init_template=tensorflow/api_template.__init__.py --apidir=bazel-out/Host/genfiles/tensorflow --apiname=tensorflow --apiversion=1 --package=tensorflow.python --output_package=tensorflow bazel-out/Host/genfiles/tensorflow/__init__.py bazel-out/Host/genfiles/tensorflow/app/__init__.py bazel-out/Host/genfiles/tensorflow/bitwise/__init__.py bazel-out/Host/genfiles/tensorflow/compat/__init__.py bazel-out/Host/genfiles/tensorflow/data/__init__.py bazel-out/Host/genfiles/tensorflow/debugging/__init__.py bazel-out/Host/genfiles/tensorflow/distributions/__init__.py bazel-out/Host/genfiles/tensorflow/dtypes/__init__.py bazel-out/Host/genfiles/tensorflow/errors/__init__.py bazel-out/Host/genfiles/tensorflow/feature_column/__init__.py bazel-out/Host/genfiles/tensorflow/gfile/__init__.py bazel-out/Host/genfiles/tensorflow/graph_util/__init__.py bazel-out/Host/genfiles/tensorflow/image/__init__.py bazel-out/Host/genfiles/tensorflow/io/__init__.py bazel-out/Host/genfiles/tensorflow/initializers/__init__.py bazel-out/Host/genfiles/tensorflow/keras/__init__.py bazel-out/Host/genfiles/tensorflow/keras/activations/__init__.py bazel-out/Host/genfiles/tensorflow/keras/applications/__init__.py bazel-out/Host/genfiles/tensorflow/keras/applications/densenet/__init__.py bazel-out/Host/genfiles/tensorflow/keras/applications/inception_resnet_v2/__init__.py bazel-out/Host/genfiles/tensorflow/keras/applications/inception_v3/__init__.py bazel-out/Host/genfiles/tensorflow/keras/applications/mobilenet/__init__.py bazel-out/Host/genfiles/tensorflow/keras/applications/mobilenet_v2/__init__.py bazel-out/Host/genfiles/tensorflow/keras/applications/nasnet/__init__.py bazel-out/Host/genfiles/tensorflow/keras/applications/resnet50/__init__.py bazel-out/Host/genfiles/tensorflow/keras/applications/vgg16/__init__.py bazel-out/Host/genfiles/tensorflow/keras/applications/vgg19/__init__.py bazel-out/Host/genfiles/tensorflow/keras/applications/xception/__init__.py bazel-out/Host/genfiles/tensorflow/keras/backend/__init__.py bazel-out/Host/genfiles/tensorflow/keras/callbacks/__init__.py bazel-out/Host/genfiles/tensorflow/keras/constraints/__init__.py bazel-out/Host/genfiles/tensorflow/keras/datasets/__init__.py bazel-out/Host/genfiles/tensorflow/keras/datasets/boston_housing/__init__.py bazel-out/Host/genfiles/tensorflow/keras/datasets/cifar10/__init__.py bazel-out/Host/genfiles/tensorflow/keras/datasets/cifar100/__init__.py bazel-out/Host/genfiles/tensorflow/keras/datasets/fashion_mnist/__init__.py bazel-out/Host/genfiles/tensorflow/keras/datasets/imdb/__init__.py bazel-out/Host/genfiles/tensorflow/keras/datasets/mnist/__init__.py bazel-out/Host/genfiles/tensorflow/keras/datasets/reuters/__init__.py bazel-out/Host/genfiles/tensorflow/keras/estimator/__init__.py bazel-out/Host/genfiles/tensorflow/keras/initializers/__init__.py bazel-out/Host/genfiles/tensorflow/keras/layers/__init__.py bazel-out/Host/genfiles/tensorflow/keras/losses/__init__.py bazel-out/Host/genfiles/tensorflow/keras/metrics/__init__.py bazel-out/Host/genfiles/tensorflow/keras/models/__init__.py bazel-out/Host/genfiles/tensorflow/keras/optimizers/__init__.py bazel-out/Host/genfiles/tensorflow/keras/preprocessing/__init__.py bazel-out/Host/genfiles/tensorflow/keras/preprocessing/image/__init__.py bazel-out/Host/genfiles/tensorflow/keras/preprocessing/sequence/__init__.py bazel-out/Host/genfiles/tensorflow/keras/preprocessing/text/__init__.py bazel-out/Host/genfiles/tensorflow/keras/regularizers/__init__.py bazel-out/Host/genfiles/tensorflow/keras/utils/__init__.py bazel-out/Host/genfiles/tensorflow/keras/wrappers/__init__.py bazel-out/Host/genfiles/tensorflow/keras/wrappers/scikit_learn/__init__.py bazel-out/Host/genfiles/tensorflow/layers/__init__.py bazel-out/Host/genfiles/tensorflow/linalg/__init__.py bazel-out/Host/genfiles/tensorflow/logging/__init__.py bazel-out/Host/genfiles/tensorflow/losses/__init__.py bazel-out/Host/genfiles/tensorflow/manip/__init__.py bazel-out/Host/genfiles/tensorflow/math/__init__.py bazel-out/Host/genfiles/tensorflow/metrics/__init__.py bazel-out/Host/genfiles/tensorflow/nn/__init__.py bazel-out/Host/genfiles/tensorflow/nn/rnn_cell/__init__.py bazel-out/Host/genfiles/tensorflow/profiler/__init__.py bazel-out/Host/genfiles/tensorflow/python_io/__init__.py bazel-out/Host/genfiles/tensorflow/quantization/__init__.py bazel-out/Host/genfiles/tensorflow/resource_loader/__init__.py bazel-out/Host/genfiles/tensorflow/strings/__init__.py bazel-out/Host/genfiles/tensorflow/saved_model/__init__.py bazel-out/Host/genfiles/tensorflow/saved_model/builder/__init__.py bazel-out/Host/genfiles/tensorflow/saved_model/constants/__init__.py bazel-out/Host/genfiles/tensorflow/saved_model/loader/__init__.py bazel-out/Host/genfiles/tensorflow/saved_model/main_op/__init__.py bazel-out/Host/genfiles/tensorflow/saved_model/signature_constants/__init__.py bazel-out/Host/genfiles/tensorflow/saved_model/signature_def_utils/__init__.py bazel-out/Host/genfiles/tensorflow/saved_model/tag_constants/__init__.py bazel-out/Host/genfiles/tensorflow/saved_model/utils/__init__.py bazel-out/Host/genfiles/tensorflow/sets/__init__.py bazel-out/Host/genfiles/tensorflow/sparse/__init__.py bazel-out/Host/genfiles/tensorflow/spectral/__init__.py bazel-out/Host/genfiles/tensorflow/summary/__init__.py bazel-out/Host/genfiles/tensorflow/sysconfig/__init__.py bazel-out/Host/genfiles/tensorflow/test/__init__.py bazel-out/Host/genfiles/tensorflow/train/__init__.py bazel-out/Host/genfiles/tensorflow/train/queue_runner/__init__.py bazel-out/Host/genfiles/tensorflow/user_ops/__init__.py')
Traceback (most recent call last):
  File "/home/jok/.cache/bazel/_bazel_jok120/737f8d6dbadde71050b1e0783c31ea62/execroot/org_tensorflow/bazel-out/Host/bin/tensorflow/create_tensorflow.python_api.runfiles/org_tensorflow/tensorflow/python/tools/api/generator/create_python_api.py", line 27, in <module>
    from tensorflow.python.tools.api.generator import doc_srcs
  File "/home/jok/.cache/bazel/_bazel_jok120/737f8d6dbadde71050b1e0783c31ea62/execroot/org_tensorflow/bazel-out/Host/bin/tensorflow/create_tensorflow.python_api.runfiles/org_tensorflow/tensorflow/python/__init__.py", line 81, in <module>
    from tensorflow.python import keras
  File "/home/jok/.cache/bazel/_bazel_jok120/737f8d6dbadde71050b1e0783c31ea62/execroot/org_tensorflow/bazel-out/Host/bin/tensorflow/create_tensorflow.python_api.runfiles/org_tensorflow/tensorflow/python/keras/__init__.py", line 25, in <module>
    from tensorflow.python.keras import applications
  File "/home/jok/.cache/bazel/_bazel_jok120/737f8d6dbadde71050b1e0783c31ea62/execroot/org_tensorflow/bazel-out/Host/bin/tensorflow/create_tensorflow.python_api.runfiles/org_tensorflow/tensorflow/python/keras/applications/__init__.py", line 21, in <module>
    import keras_applications
ModuleNotFoundError: No module named 'keras_applications'
Target //tensorflow/tools/pip_package:build_pip_package failed to build
INFO: Elapsed time: 695.098s, Critical Path: 152.03s
INFO: 7029 processes: 7029 local.
FAILED: Build did NOT complete successfully
3
jonathanking

Cela semble être un problème avec la génération Tensorflow 1.10. Je vous recommande de vérifier la branche r1.9 car elle se construit parfaitement bien. La liste des dépendances doit être mise à jour ou Tensorflow résoudra le problème. Si vous êtes déterminé à exécuter l’API r.1.10, exécutez ce qui suit dans le terminal:

pip install keras_applications==1.0.4 --no-deps
pip install keras_preprocessing==1.0.2 --no-deps
pip install h5py==2.8.0
9
geekonedge

Si vous êtes simplement intéressé par la version (git tag vous présentera toutes les versions disponibles), exécutez git checkout v1.10.1 avant l'étape ./configure. Ensuite, vous pouvez suivre les instructions officielles sans installer de dépendances supplémentaires.

Actuellement, une construction de branche maître me donnera l'erreur suivante dans le code Keras qui fonctionnait auparavant (après l'appel de model.fit_generator() à partir de la version autonome de Keras):

`steps_per_Epoch=None` is only valid for a generator based on the `keras.utils.Sequence` class. Please specify `steps_per_Epoch` or use the `keras.utils.Sequence` class.

Les versions basées sur la version 1.10.1 de TensorFlow ne causent pas cette erreur.

0
g-eoj