#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. Да… Это должно сработать.