keras - 无法导入名称Conv2D

Kon*_*ong 10 python neural-network theano keras tensorflow

我最近从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
Run Code Online (Sandbox Code Playgroud)

我在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
Run Code Online (Sandbox Code Playgroud)

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

Wil*_*ren 14

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

导入已更改为新keras.你确定你没有使用keras> = 2吗?


pus*_*d93 5

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

from keras.layers.convolutional import Conv2D
from keras.layers import Dense
from keras.layers.convolutional import MaxPooling2D
from keras.layers import Flatten
Run Code Online (Sandbox Code Playgroud)

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