Ошибка времени выполнения при запуске программы для получения векторов кодирования из текста

#nlp #runtime-error #huggingface-transformers #encoder-decoder

Вопрос:

Я пытаюсь получить векторы признаков из модели кодера, используя предварительно обученные веса ALBERT v2. у меня есть графический процессор nvidia 1650ti (4 ГБ) и достаточно оперативной памяти(8 ГБ), но по какой-то причине я получаю сообщение об ошибке во время выполнения —

Ошибка времени выполнения: [сбой принудительного выполнения в …c10coreCPUAllocator.cpp:75] данных. DefaultCPUAllocator: недостаточно памяти: вы пытались выделить 491520000 байт. Купите новую оперативную память!

Я действительно новичок в pytorch и глубоком обучении в целом. Кто-нибудь может, пожалуйста, сказать мне, что случилось?

Весь мой код —

 encoded_test_data = tokenized_test_values[‘input_ids’]

encoded_test_masks = tokenized_test_values[‘attention_mask’]

encoded_train_data = torch.from_numpy(encoded_train_data).to(device)

encoded_masks = torch.from_numpy(encoded_masks).to(device)

encoded_test_data = torch.from_numpy(encoded_test_data).to(device)

encoded_test_masks = torch.from_numpy(encoded_test_masks).to(device)

config = EncoderDecoderConfig.from_encoder_decoder_configs(BertConfig(),BertConfig())

EnD_model = EncoderDecoderModel.from_pretrained(‘albert-base-v2’,config=config)

feature_extractor = EnD_model.get_encoder()

feature_vector = feature_extractor.forward(input_ids=encoded_train_data,attention_mask = encoded_masks)

feature_test_vector = feature_extractor.forward(input_ids = encoded_test_data, attention_mask = encoded_test_masks)
 

Также 491520000 байт-это около 490 МБ, что не должно быть проблемой.

Я попытался уменьшить количество обучающих примеров, а также длину максимального ввода с дополнением . Ошибка OOM все еще существует , хотя требуемое пространство теперь составляет 153 МБ, что должно быть легко управляемым. Я также увеличил лимит оперативной памяти кучи программного обеспечения pycharm до 2048 МБ. Я действительно не знаю, что теперь делать…

Комментарии:

1. Передайте меньшие партии.

2. Но у меня есть огромный набор данных для работы. Будет ли работать перебор и преобразование небольших пакетов в соответствующие векторы объектов?

3. Да… Это должно сработать.