web-dev-qa-db-fra.com

keras - impossible d'importer le nom Conv2D

J'ai récemment reçu le menu fixe d'apprentissage approfondi de https://github.com/floydhub/dl-docker running et lors de l'essai des tutoriels, j'ai reçu une erreur lors de l'importation du module de couches keras. 

from __future__ import print_function
import keras
from keras.datasets import cifar10
from keras.preprocessing.image import ImageDataGenerator
from keras.models import Sequential
from keras.layers import Dense, Dropout, Activation, Flatten
from keras.layers import Conv2D, MaxPooling2D

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-13-3a12c6f32fcf> in <module>()
      5 from keras.models import Sequential
      6 from keras.layers import Dense, Dropout, Activation, Flatten
----> 7 from keras.layers import Conv2D, MaxPooling2D

ImportError: cannot import name Conv2D

Je suis sous ubuntu 14.04, python version 2.7.6 sur le cahier ipython et les versions suivantes des bibliothèques d’apprentissage approfondi sur docker.

ARG THEANO_VERSION=rel-0.8.2
ARG TENSORFLOW_VERSION=0.12.1 
ARG TENSORFLOW_Arch=cpu
ARG KERAS_VERSION=1.2.0
ARG LASAGNE_VERSION=v0.1
ARG TORCH_VERSION=latest
ARG CAFFE_VERSION=master

Je ne suis pas sûr que le problème réside dans la version car il semble qu'il n'y ait pas de problèmes liés sur le thread github.

5
Kong

Essayez ceci: from keras.layers.convolutional import Conv2D

L'importation a changé avec les nouveaux keras. Êtes-vous sûr de ne pas utiliser keras> = 2?

7

Les paquets suivants qui sont très essentiels pour CNN (réseaux de neurones convolutifs) sont réorganisés en différents paquets

from keras.layers.convolutional import Conv2D
from keras.layers import Dense
from keras.layers.convolutional import MaxPooling2D
from keras.layers import Flatten

Chaque fois que vous obtenez une erreur d'importation toujours google le nom du paquet et la bibliothèque, il est associé par exemple google "Keras Convolution2D". Il vous dirigera vers la documentation de keras. Cela vous donnera facilement le chemin à importer.

0
Pushkar Deshpande

Pour Keras 1.2.0 (l'actuel sur floydhub à partir de print (keras .__ version__) ), utilisez ces importations pour Conv2D (que vous utilisez) et Conv2DTranspose (utilisé dans les exemples de Keras):

from keras.layers import Convolution2D as Conv2D
from keras.layers.convolutional import Deconv2D as Conv2DTranspose
0
user2707001