当我尝试向 keras 模型添加 dropout 时,它会导致 OOM 错误:tensorflow.python.framework.errors_impl.ResourceExhaustedError: OOM when allocating tensor with shape[128,128,176,216] ...
该模型假设是产生超分辨率 x4 的自动编码器。
autoencoder = Sequential()
autoencoder.add(Conv2D(64*comlex, (3, 3), activation='relu',
padding='same', input_shape=x_train[0].shape))
autoencoder.add(Dropout(0.25))
autoencoder.add(UpSampling2D((2, 2)))
autoencoder.add(Conv2D(64*comlex, (3, 3), activation='relu', padding='same'))
# autoencoder.add(Dropout(0.25))
autoencoder.add(UpSampling2D((2, 2)))
autoencoder.add(Conv2D(3, (3, 3), activation='sigmoid', padding='same'))
autoencoder.compile(optimizer='adam', loss='binary_crossentropy',metrics=['accuracy'])
注释中的行导致OOM。
为什么 dropout 占用这么多内存?