ResourceExhaustedError - Это вызвано проблемами с моим генератором или моей моделью? - PullRequest
0 голосов
/ 05 мая 2020

Итак, я пытаюсь предсказать следующую лирику c в строке из maxLen = 21 слова, которые все преобразуются в массив из num_words = 31186 слов. Моя конечная цель - использовать обученную модель для создания новых текстов песен на основе тех, на которых она обучалась. Итак, я предполагаю, что для этого мне понадобится модель, которая выглядит так.

LineGenModel = Sequential()
LineGenModel.add(
    LSTM(
        units = maxLen,
        return_sequences = True,
        input_shape = (maxLen,num_words)
    )
)
LineGenModel.add(
    Dense(
        num_words,
        activation = 'softmax'
    )
)
LineGenModel.compile(optimizer="adam", loss='categorical_crossentropy', metrics=['accuracy'])
LineGenModel.build((maxLen,num_words))
LineGenModel.summary()

Мои значения меток - это просто ввод, перемещенный на один влево (ie вынимает первое слово ввода и добавив в конце строки eos или 0). После вызова my model.fit я получаю эту ошибку

ResourceExhaustedError:  OOM when allocating tensor with shape[31186,84] and type float on /job:localhost/replica:0/task:0/device:CPU:0 by allocator cpu
     [[node gradients_5/zeros_like_25 (defined at c:\users\abala\appdata\local\programs\python\python38\lib\site-packages\keras\backend\tensorflow_backend.py:3007) ]]
Hint: If you want to see a list of allocated tensors when OOM happens, add report_tensor_allocations_upon_oom to RunOptions for current allocation info.
 [Op:__inference_keras_scratch_graph_14843]

Function call stack:
keras_scratch_graph
...