причина памяти GPU, я получил ошибку ResourceExhaustedError - PullRequest
0 голосов
/ 24 марта 2020
import pickle

pickle_in = open("X.pickle","rb")
X = pickle.load(pickle_in)

pickle_in = open("y.pickle","rb")
y = pickle.load(pickle_in)
X = X/255.0

model = Sequential()

model.add(Conv2D(256, (3, 3), input_shape=X.shape[1:]))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Conv2D(256, (3, 3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Flatten())  # this converts our 3D feature maps to 1D feature vectors

model.add(Dense(64))

model.add(Dense(1))
model.add(Activation('sigmoid'))

model.compile(loss='binary_crossentropy',
              optimizer='adam',
              metrics=['accuracy'])
model.fit(X, y, batch_size=8, epochs=3, validation_split=0.3)


ResourceExhaustedError: OOM when allocating tensor with shape[8,256,98,98] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc
     [[{{node Adam_1/gradients/max_pooling2d_2/MaxPool_grad/MaxPoolGrad}}]]

Моя память GPU Util

вопрос: я не знаю, что заполнено памятью. Я ищу какое-то решение. Они называют меня использовать fuser -v / dev / nvidia * и kill -9

Но я использую windows, я не знаю, как это сделать.

1 Ответ

0 голосов
/ 24 марта 2020

Ваша проблема будет решена, если вы постепенно уменьшите размер batch_size (таким образом освобождая gpu-memory).

Уменьшите размер batch_size до 4. Если это все еще не работает, уменьшите его до 2 и, в конечном итоге, до 1.

ОБНОВЛЕНИЕ: К сожалению, очень вероятно, что вы не сможете тренировать свою сеть, поскольку у вас есть только 1 ГБ памяти VRam; вам следует подумать о переходе на GoogleColab Laboratory или обновить вашу видеокарту.

...