畳み込みオートエンコーダーをトレーニングするとき、KerasはResourceExhaustedErrorを投げています。私はTensorflowバックエンドを実行しています。このコンピュータには、11 Gbsのメモリを搭載したNvidia Teslaと6 Gbsのメモリを搭載したNvidia Quadroがあります。 Tensorflowが両方のGPUを使用しているようですか?しかし、私はそれについてあまり明確ではありません。ここで私が使用しているコードの最小の例です。私の例では、データは次元=(100,1080,1920,1)の小さな配列です。KerasがResourceExhaustedErrorを投げているのはなぜですか?
from keras.layers import Convolution2D, MaxPooling2D, UpSampling2D, Activation
from keras.models import Sequential
model = Sequential()
model.add(Convolution2D(16, 3, 3, border_mode='same', input_shape=(1080, 1920, 1)))
model.add(Activation('relu'))
model.add(MaxPooling2D((2, 2), border_mode='same'))
model.add(Convolution2D(16, 3, 3, border_mode='same'))
model.add(Activation('relu'))
model.add(UpSampling2D((2, 2)))
model.add(Convolution2D(1, 3, 3, border_mode='same'))
model.add(Activation('relu'))
model.compile(optimizer='adadelta', loss='binary_crossentropy')
model.fit(data, data)
GPUのメモリが不足しているようです。自動エンコーダーには2625個の変数があります。だから、ビデオRAMをいっぱいにするようには見えません。アレイデータのサイズは1600 MBです。ビデオRAMをいっぱいにしてはいけません。私は問題がnb_epochとbatch_sizeと関係があると推測していますが、これらのパラメータが何をするかについては完全にはわかりません。問題を解決するためにこれらのパラメータを変更する方法はありますか?
変更 'Convolution2D' - > 'Conv2D' を参照してください。https://stackoverflow.com/a/46032412 –