3
votes

J'obtiens une erreur lors de l'importation de tensorflow_datasets

Je souhaite utiliser dans Jupyter (version 6.0.0) avec Python3 tensorflow_datasets. Cela entraîne un message d'erreur, je n'arrive pas à comprendre quel est le problème.

J'ai créé un nouveau noyau pour Python qui devrait utiliser les ensembles de données tensorflow_datasets. Les étapes suivantes ont été effectuées (dans anaconda en utilisant mon option administrateur).

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call 
last)
<ipython-input-1-3e405850b628> in <module>
  1 import numpy as np
  2 import tensorflow as tf
----> 3 import tensorflow_datasets as tfds
      4 
      5 # TensorFLow includes a data provider for MNIST that we'll use.

C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64\envs\py3-TF2.0\lib\site- 
   packages\tensorflow_datasets\__init__.py in <module>
     44 # needs to happen before anything else, since the imports below will try to
     45 # import tensorflow, too.
---> 46 from tensorflow_datasets.core import tf_compat
     47 tf_compat.ensure_tf_install()
     48 

C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64\envs\py3-TF2.0\lib\site-packages\tensorflow_datasets\core\__init__.py in <module>
 26 from tensorflow_datasets.core.dataset_builder import GeneratorBasedBuilder
 27 
---> 28 from tensorflow_datasets.core.dataset_info import DatasetInfo
     29 from tensorflow_datasets.core.dataset_info import Metadata
     30 from tensorflow_datasets.core.dataset_info import MetadataDict

C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64\envs\py3-TF2.0\lib\site-packages\tensorflow_datasets\core\dataset_info.py in <module>
     51 from tensorflow_datasets.core import splits as splits_lib
     52 from tensorflow_datasets.core import utils
---> 53 from tensorflow_datasets.core.features import top_level_feature
     54 from tensorflow_datasets.core.proto import dataset_info_pb2
     55 from tensorflow_datasets.core.proto import json_format

C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64\envs\py3-TF2.0\lib\site-packages\tensorflow_datasets\core\features\__init__.py in <module>
     25 from tensorflow_datasets.core.features.feature import Tensor
     26 from tensorflow_datasets.core.features.feature import TensorInfo
---> 27 from tensorflow_datasets.core.features.features_dict import FeaturesDict
     28 from tensorflow_datasets.core.features.image_feature import Image
     29 from tensorflow_datasets.core.features.sequence_feature import Sequence

C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64\envs\py3-TF2.0\lib\site-packages\tensorflow_datasets\core\features\features_dict.py in <module>
     26 from tensorflow_datasets.core import utils
     27 from tensorflow_datasets.core.features import feature as feature_lib
---> 28 from tensorflow_datasets.core.features import top_level_feature
     29 
     30 

C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64\envs\py3-TF2.0\lib\site-packages\tensorflow_datasets\core\features\top_level_feature.py in <module>
     25 
     26 
---> 27 class TopLevelFeature(feature_lib.FeatureConnector):
     28   """Top-level `FeatureConnector` to manage decoding.
     29 

C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64\envs\py3-TF2.0\lib\site-packages\tensorflow_datasets\core\features\top_level_feature.py in TopLevelFeature()
     43   # disable it in methods that use them, to avoid the warning.
     44   # TODO(mdan): Remove decorator once AutoGraph supports mangled names.
---> 45   @tf.autograph.experimental.do_not_convert()
     46   def _set_top_level(self):
     47     """Indicates that the feature is top level.

AttributeError: module 'tensorflow._api.v2.autograph.experimental' has no attribute 'do_not_convert'

À la fermeture, j'ai redémarré mon ordinateur portable.

Lorsque j'ouvre le notebook Jupyter, et changez mon noyau en py3-TF2.0 (notez que je ne peux changer mon noyau que dans ANACONDA NAVIGATOR et PAS dans l'environnement de notebook Jupyter). Ouvrez le script dans ce noyau et appuyez sur «redémarrer le noyau et exécuter tous les scripts». J'obtiens le message d'erreur.

J'ai réessayé d'installer le noyau à nouveau; qui n'a aucun message d'erreur (la suppression du noyau d'origine et son remplacement ne semblent pas être un problème).

import numpy as np
import tensorflow as tf
import tensorflow_datasets as tfds

Je n'attends aucun message d'erreur; et donc importé correctement mes tensorflow_datasets dans Jupyter.

Le message d'erreur que je reçois est le suivant

1. conda info --envs
2. conda create --name py3-TF2.0 python=3
3. conda activate py3-TF2.0
4. pip install matplotlib
5. pip install tensorflow==2.0.0-alpha0
6. pip install ipykernel
7. conda install nb_conda_kernels
8. pip install tensorflow-datasets

J'ai effectué une recherche sur Stackoverflow, google et youtube à ce sujet. Jusqu'à présent, j'ai trouvé un cas assez similaire sur stackoverflow: Non capable d'importer le module tensorflow_datasets dans le notebook jupyter mais le message d'erreur semble être complètement différent du mien.


0 commentaires

3 Réponses :


4
votes

J'ai trouvé la réponse; le problème réside dans Tensorflow2.0.0-alpha0 Ceci est corrigé avec la version bêta de Tensorflow2.0.0


1 commentaires

pip install --upgrade tensorflow a résolu mon problème.



3
votes

l'ancien pip install tensorflow-datasets ne fonctionnera pas avec l'installation de tensorflow-datasets dans l'environnement conda utilisez le code ci-dessous pour le faire fonctionner avec tensorflow 2.1.0

conda install -c anaconda tensorflow-datasets


0 commentaires

1
votes

ce problème se produit en raison de l'ancienne version de tensorflow avec une combinaison d'anciens ensembles de données tensorflow.

Alors tout d'abord, mettez à jour votre version tensorflow:

! pip install tensorflow-gpu == 2.1.0

a ensuite utilisé des ensembles de données tensorflow.

! pip install -U tensorflow_datasets


0 commentaires