加载 fasttext 预训练德语词嵌入的 .vec 文件抛出内存错误

loading of fasttext pre trained german word embedding's .vec file throwing out of memory error

我正在使用 gensim 加载 fasttext 的预训练词嵌入

de_model = KeyedVectors.load_word2vec_format('wiki.de\wiki.de.vec')

但这给了我一个记忆错误。

有什么方法可以载入吗?

除了在内存更大的机器上工作之外,gensim load_word2vec_format() 方法有一个 limit 选项,可以给它一个计数 n 要读取的向量。只会加载文件的前 n 个向量。

例如,只加载前 100,000 个单词:

de_model = KeyedVectors.load_word2vec_format('wiki.de\wiki.de.vec', limit=100000)

由于此类文件通常首先对较频繁的词进行排序,而 'long tail' 较稀有的词往往是较弱的向量,因此许多应用程序不会因丢弃较稀有的词而损失太多的功能。