最近、ディープラーニングDockerを 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
私はubuntu 14.04、ipythonノートブックの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スレッドに関連する問題がないように思われるため、問題がバージョンにあるかどうかはわかりません。
これを試して: from keras.layers.convolutional import Conv2D
新しいケラでインポートが変更されました。 keras> = 2を使用していませんか?
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 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