Я новичок в области тензорного потока и машинного обучения. Недавно я работаю над моделью. Моя модель похожа на ниже,
-
Уровень символов Вложение Vector → Поиск встраивания → LSTM1
-
Уровень слова Встраивание Vector- > Поиск вложения → LSTM2
-
[LSTM1 + LSTM2] → однослойный слой MLP- > softmax
-
[LSTM1 + LSTM2] → Однослойный MLP- > дискриминатор WGAN
-
Код модели rnn
пока я работаю над этой моделью, я получил следующую ошибку. Я думал, что моя партия слишком большая. Таким образом, я попытался уменьшить размер партии от 20 до 10, но это не сработает.
ResourceExhaustedError (см. выше для отслеживания): OOM при распределении тензор с формой [24760,100] [[ Node: chars/bidirectional_rnn/bw/bw/while/bw/lstm_cell/split = Разделить [T = DT_FLOAT, num_split = 4, _device = "/работа: локальный/реплика: 0/задача: 0/устройство: ГПУ: 0" ] (gradients_2/Add_3/у, chars/bidirectional_rnn/bw/bw/while/bw/lstm_cell/BiasAdd)]] [[Node: bi-lstm/bidirectional_rnn/bw/bw/stack/_167 = _Recvclient_terminated = false, recv_device = "/job: localhost/replica: 0/task: 0/device: CPU: 0", send_device = "/работа: локальный/реплика: 0/задача: 0/устройства: GPU: 0", send_device_incarnation = 1, tensor_name = "edge_636_bi-LSTM/bidirectional_rnn/мт/мт/стопка", tensor_type = DT_INT32, _device = "/работа: локальный/реплика: 0/задача: 0/Устройство: ЦП: 0" ]]
с формой [24760,100] означает 2476000 * 32/8 * 1024 * 1024 = 9.44519043 МБ памяти. Я запускаю код на графическом процессоре titan X (11 ГБ). Что может пойти не так? Почему произошел этот тип ошибки?
* Дополнительная информация *: размер LSTM1 равен 100. Для двунаправленного LSTM он становится 200. Размер LSTM2 равен 300. Для двунаправленного LSTM оно составляет 600.
* Примечание *: ошибка произошла после 32 эпох. Мой вопрос в том, почему после 32 эпохи есть ошибка. Почему бы не в начальную эпоху.