keras - 无法导入名称Conv2D

时间:2017-05-23 09:46:15

标签: python tensorflow neural-network keras theano

我最近从https://github.com/floydhub/dl-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线程上没有相关问题。

3 个答案:

答案 0 :(得分:8)

试试这个:from keras.layers.convolutional import Conv2D

导入已更改为新keras。你确定你没有使用keras&gt; = 2?

答案 1 :(得分:1)

对于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

答案 2 :(得分:0)

以下对于CNN(卷积神经网络)非常重要的软件包被重组为不同的软件包

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

每当您收到导入错误时,请始终用谷歌搜索软件包名称和与之关联的库,例如google“ Keras Convolution2D”。它将引导您到keras文档。这样可以轻松地放弃导入路径。