keras - 无法导入名称 Conv2D
keras - cannot import name Conv2D
我最近从 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
我是运行ubuntu14.04,python笔记本上的2.7.6版本和[=21=上的深度学习库的以下版本].
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帖上好像没有相关的问题。
试试这个:from keras.layers.convolutional import Conv2D
导入随着新的 keras 发生了变化。您确定您没有使用 keras >= 2 吗?
注意:
包含 tensorflow 2.0 keras。您现在可以导入图层:
from tensorflow.keras.layers import Conv2D
对于 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
以下对 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 文档。这将很容易泄露导入路径。
我最近从 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
我是运行ubuntu14.04,python笔记本上的2.7.6版本和[=21=上的深度学习库的以下版本].
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帖上好像没有相关的问题。
试试这个:from keras.layers.convolutional import Conv2D
导入随着新的 keras 发生了变化。您确定您没有使用 keras >= 2 吗?
注意:
包含 tensorflow 2.0 keras。您现在可以导入图层:
from tensorflow.keras.layers import Conv2D
对于 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
以下对 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 文档。这将很容易泄露导入路径。