【发布时间】:2019-01-19 16:02:04
【问题描述】:
我正在做情绪分析,我想使用预训练的 fasttext 嵌入,但是文件非常大(6.7 GB)并且程序需要很长时间才能编译。
fasttext_dir = '/Fasttext'
embeddings_index = {}
f = open(os.path.join(fasttext_dir, 'wiki.en.vec'), 'r', encoding='utf-8')
for line in tqdm(f):
values = line.rstrip().rsplit(' ')
word = values[0]
coefs = np.asarray(values[1:], dtype='float32')
embeddings_index[word] = coefs
f.close()
print('found %s word vectors' % len(embeddings_index))
embedding_dim = 300
embedding_matrix = np.zeros((max_words, embedding_dim))
for word, i in word_index.items():
if i < max_words:
embedding_vector = embeddings_index.get(word)
if embedding_vector is not None:
embedding_matrix[i] = embedding_vector
有什么方法可以加快进程?
【问题讨论】:
-
这段代码运行多长时间?
-
大约需要 8 分钟。读取和处理文件。即使在那之后,计算机在很长一段时间内仍然非常滞后
-
现在是python脚本和这个任务的正常时间。但是您可以使用另一种语言来加快速度。可能它也会消耗很多错误。尝试腌制和删除(通过
del)不必要的数据(embeddings_index,处理时等)
标签: python keras sentiment-analysis fasttext