Как ввести несколько данных, используя одну модель? - PullRequest
0 голосов
/ 24 июня 2019

Я тренирую классификатор документов и хочу использовать вспомогательные потери.Но когда модель получает входные данные, это всегда приводит к тому, что CUDA не хватает памяти.

Это модель Берта.Я уверен, что памяти достаточно для этого эксперимента.

logits = model(input_ids,segment_ids,inputmask_1)
logits_1 = model(input_ids_1,  segment_ids_1, input_mask_1) #out of memory occurs
logits_2 = model(input_ids_2 , segment_ids_2, input_mask_2)

loss_fct = CrossEntropyLoss()
loss_fct_auxiliary = CrossEntropyLoss()

loss = loss_fct(logits.view(-1, num_labels), label_ids.view(-1))
loss_auxiliary = loss_fct_auxiliary(logits_1, float(logits_2))

loss = loss + loss_auxiliary

При выполнении этого Получить эту ошибку «RuntimeError: CUDA не хватает памяти».Любой совет?Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...