web-dev-qa-db-fra.com

Le module 'tensorflow' n'a pas d'attribut 'contrib'

J'essaie de former mon propre détecteur d'objet personnalisé à l'aide de l'API Tensorflow Object-Detection

J'ai installé le tensorflow en utilisant "pip install tensorflow" dans mon moteur de calcul Google. Ensuite, j'ai suivi toutes les instructions sur ce site: https://tensorflow-object-detection-api-tutorial.readthedocs.io/en/latest/training.html

Lorsque j'essaie d'utiliser train.py, je reçois ce message d'erreur:

Traceback (dernier appel le plus récent): fichier "train.py", ligne 49, depuis object_detection.builders import dataset_builder File "/usr/local/lib/python3.6/dist-packages/object_detection-0.1->py3.6 .Egg/object_detection/builders/dataset_builder.py ", ligne 27, dans from object_detection.data_decoders import tf_example_decoder File" /usr/local/lib/python3.6/dist-packages/object_detection-0.1-py3.6.Egg/object_dject /data_decoders/tf_example_decoder.py ", ligne 27, dans slim_example_decoder = tf.contrib.slim.tfexample_decoder AttributeError: le module 'tensorflow' n'a pas d'attribut 'contrib'

De plus, j'obtiens des résultats différents lorsque j'essaie d'apprendre la version de tensorflow.

python3 -c 'importe tensorflow en tant que tf; print (tf. version ) ': 2.0.0-dev20190422

et quand j'utilise

pip3 montre tensorflow:

Nom: tensorflow Version: 1.13.1 Résumé: TensorFlow est un framework d'apprentissage machine open source pour tout le monde. Page d'accueil: https://www.tensorflow.org/ Auteur: Google Inc. Adresse e-mail de l'auteur: [email protected] Licence: Apache 2.0 Emplacement:/usr/local/lib/python3. 6/dist-packages Requiert: gast, astor, absl-py, tensorflow-estimator, keras-preprocessing, grpcio, six, keras-applications, wheel, numpy, tensorboard, protobuf, termcolor Requis par:

    Sudo python3 train.py --logtostderr --train_dir=training/ -- 
    pipeline_config_path=training/ssd_inception_v2_coco.config

Que dois-je faire pour résoudre ce problème? Je n'ai rien trouvé sur ce message d'erreur sauf ceci: l'objet 'module' tensorflow n'a pas d'attribut 'contrib'

23
Ömer Çiftci

J'ai utilisé google colab pour exécuter mes modèles et tout était parfait jusqu'à ce que j'utilise un tableau de bord intégré. Avec tensorboard inline, j'ai eu le même problème de "Module 'tensorflow' n'a pas d'attribut 'contrib'".

Il a pu exécuter la formation lors de la reconstruction et de la réinstallation du modèle à l'aide de setup.py (dossier de recherche) après l'initialisation du tensorboard.

1
Pawan Kumar

J'ai utilisé tensorflow 1.8 pour entraîner mon modèle et il n'y a aucun problème pour l'instant. Tensorflow 2.0 alpha n'est pas compatible avec l'API de détection d'objets

0
Ömer Çiftci

Si vous souhaitez utiliser tf.contrib, vous devez maintenant copier et coller le code source de github dans votre script/bloc-notes. C'est ennuyeux et ne fonctionne pas toujours. Mais c'est la seule solution de contournement que j'ai trouvée. Par exemple, si vous souhaitez utiliser tf.contrib.opt.AdamWOptimizer, vous devez copier et coller à partir d'ici. https://github.com/tensorflow/tensorflow/blob/590d6eef7e91a6a7392c8ffffb7b58f2e0c8bc6b/tensorflow/contrib/opt/python/training/weight_decay_optimizers.py#L32

0
Corey Levinson