#python #machine-learning #memory-management #nlp #word-embedding
#python #машинное обучение #управление памятью #nlp #встраивание word
Вопрос:
Я хочу использовать предварительно подготовленные вложения word в моей модели машинного обучения. Имеющийся у меня файл встраиваний word имеет размер около 4 ГБ. В настоящее время я считываю весь файл в память в словаре, и всякий раз, когда я хочу сопоставить слово с его векторным представлением, я выполняю поиск в этом словаре.
Использование памяти очень велико, и я хотел бы знать, есть ли другой способ использования вложений word без загрузки всех данных в память.
Недавно я столкнулся с генераторами на Python. Могут ли они помочь мне уменьшить использование памяти?
Спасибо!
Ответ №1:
Какую задачу вы имеете в виду? Если это задача, основанная на подобии, вы могли бы просто использовать load_word2vec_format
метод в gensim, это позволяет вам ввести ограничение на количество загружаемых векторов. Векторы в чем-то вроде набора Googlenews упорядочены по частоте, это даст вам критические векторы. Теоретически это также имеет смысл, поскольку слова с низкой частотой обычно будут иметь относительно плохие представления.
Комментарии:
1. Спасибо. Я буду использовать Googlenews и извлекать только слова с наибольшей частотой (например. первые 40 тыс. слов).