Ошибка нехватки памяти (OOM) модели tenorflow / keras - PullRequest
0 голосов
/ 06 декабря 2018

, когда я пытался добавить выпадение в модель keras, это вызывало ошибку OOM: tenorflow.python.framework.errors_impl.ResourceExhaustedError: OOM при выделении тензора с формой [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.

почему отсев занимает столько памяти?

1 Ответ

0 голосов
/ 07 декабря 2018

В большинстве случаев ошибки tenorflow / OOM (нехватки памяти) в Keras возникают из-за слишком большого параметра модели , т. Е. Огромной размерности данных (как в вашем случае точно) иили высокое значение размера партии, которое также можно интерпретировать как фактор размерности.

В качестве возможного решения опустите один из них или оба, пытаясь оптимизировать потребление памяти учебным процессом и скорость тоже (!).

Иногда это может быть связано с неправильной интерпретацией или абстракцией требуемой задачи.

...