我最近从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线程上没有相关问题。
答案 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文档。这样可以轻松地放弃导入路径。