web-dev-qa-db-fra.com

ImportError: impossible d'importer le nom np_utils

J'essaie de lancer le exemple suivant de keras

mais j'obtiens cette erreur:

ImportError
Traceback (most recent call last)
<ipython-input-58-50de27eea0f8> in <module>()   
      8 import numpy as np  
      9 import matplotlib.pyplot as plt  
---> 10 from keras.models import Sequential  
     11 from keras.layers import Dense, LSTM  
     12   

/usr/local/lib/python2.7/dist-packages/keras/__init__.py in <module>()  
      1 from __future__ import absolute_import  
      2   
----> 3 from . import utils  
      4 from . import activations  
      5 from . import applications  

/usr/local/lib/python2.7/dist-packages/keras/utils/__init__.py in <module>()  
      1 from __future__ import absolute_import  
----> 2 from . import np_utils  
      3 from . import generic_utils  
      4 from . import data_utils  
      5 from . import io_utils  

ImportError: cannot import name np_utils  

J'utilise Ubuntu et j'ai installé keras avec:

Sudo pip install keras 

Cette question avait déjà été posée mais il n'y avait pas de réponse: Keras: Impossible d'importer le nom np_utils

19
Elizabeth Fons

np_utils est un paquet séparé (et une dépendance de keras - qui ne peut pas être installé avec). Peut être installé en utilisant pip:

pip install np_utils

en utilisant - Keras == 2.0.6


Suggestion: Pour des raisons étranges (et encore inconnues), même après l'installation de l'importation 

from keras.utils.np_utils import to_categorical

ne fonctionnait pas - je devais redémarrer le bloc-notes (le premier redémarrage ne fonctionnait même pas), et une fois que cela fonctionnait, je me suis retrouvé bloqué pour le même appel d'importation (à l'exception de no module named tensorflow) - comme dans les utilitaires, il existe un autre import from . import conv_utils, qui requis le tensorflow.

J'ai essayé d'installer tensorflow à l'aide de pip install tensorflow a donné:

Impossible de trouver une version répondant à l'exigence tensorflow (à partir de versions:) Aucune distribution correspondante trouvée pour tensorflow

même ceci Gist n'a pas fonctionné pour moi. 


Enfin, j'ai installé Anaconda - qui dispose de tous les packages scientifiques (numpy, scipy, scikit-learn, ..) préinstallés. Keras installées:

conda install keras

Le mieux, c’est même installé tensorflow car c’est une dépendance.

23
Nabeel Ahmed

J'ai rencontré le même problème. Vous devez installer pip np_utils puis redémarrer votre terminal. Assurez-vous que tout est à jour.

7
muninn

Pour keras> 2.0 , utilisez plutôt from keras.utils import to_categorical.

Exemple d'utilisation: to_categorical(y, num_classes=None)

4
Mimii Cheng

Essayez d'importer numpy avant d'importer quelque chose à partir de keras (je vois que vous l'avez déjà fait, je l'ajoute simplement pour documenter la solution qui a fonctionné pour moi). J'ai fait face à la même erreur et quand j'ai essayé: 

import numpy as np
from __future__ import absolute_import
#Anything from keras

Cela semblait bien fonctionner avec moi. Essayez d’installer les derniers packages stables de future et numpy à l’avance via: 

pip install future
pip install numpy

Parfois, il est possible que conda et d’autres installations de python interfèrent les unes avec les autres. Auparavant, tout était géré par brassage, mais lors de l’installation de conda , de nombreux packages que j’avais installés auparavant m’ont renvoyé une erreur d’importation (en raison de la variable PYTHONPATH).

1
Kunal Goswami

J'ai dû installer tensorflow pour résoudre ce problème . (De virtualenv):

 pip install tensorflow
1
Daniel McLean

J'ai eu un problème similaire dans un système de construction:

  • Nombre de lancers: ImportError: impossible d'importer le nom np_utils
  • Mais aussi échec d'assertion tensorflow: AttributeError: l'objet type 'NewBase' n'a pas d'attribut 'is_abstract'

Le problème dans mon cas était que l’environnement de compilation, pour une raison que je n’ai pas étudiée, avait une ancienne version six (six 1.5.0) (par rapport à mon env local). Le problème a été résolu en installant les six versions les plus récentes (1.11.0 lors de l'écriture).

pip install six -U

0
mohaseeb