keras - 无法导入名称 Conv2D

问题描述 投票:0回答:4

我最近从 https://github.com/floydhub/dl-docker 运行深度学习 docker,在尝试教程时,在导入 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

我在 ipython 笔记本上运行 ubuntu 14.04、python 2.7.6 版本,在 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

我不确定问题是否出在版本上,因为github线程上似乎没有相关问题。

python tensorflow neural-network keras theano
4个回答
27
投票

试试这个:

from keras.layers.convolutional import Conv2D

新 keras 的导入发生了变化。您确定您使用的不是 keras >= 2 吗?


注意:

包含tensorflow 2.0 keras。您现在可以使用以下命令导入图层:

from tensorflow.keras.layers import Conv2D

6
投票

以下对于CNN(卷积神经网络)非常重要的包被重新组织成不同的包

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

每当您收到导入错误时,请始终在 google 中搜索包的名称及其关联的库,例如 google“Keras Convolution2D”。它将引导您访问 keras 文档。这很容易泄露导入路径。


4
投票

对于 Keras 1.2.0(从 print(keras.__version__) 开始,floydhub 上的当前版本)将这些导入用于 Conv2D(您使用的)和 Conv2DTranspose(在 Keras 示例中使用):

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

0
投票

可能已经晚了,但对于那些使用 IntelliJ IDEA 进行 python 编程的人来说仍然很有用。 如果您想使用 Tensorflow 2.x 的 Conv2D,请首先在 IDE 中下载 TensorFlow 包并导入 Conv2D,如下所示:

from tensorflow.python.keras.layers import Conv2D
© www.soinside.com 2019 - 2024. All rights reserved.