当前位置:网站首页>How gensim freezes some word vectors for incremental training
How gensim freezes some word vectors for incremental training
2022-07-02 07:52:00 【MezereonXP】
Gensim It can be used for topic model extraction , Word vector generated python The library of .
It's like something NLP Preprocessing , You can use this library to generate easily and quickly .
Like Word2Vec, We can generate word vectors with a few lines of code , As shown below :
import gensim
from numpy import float32 as REAL
import numpy as np
word_list = ["I", "love", "you", "."]
model = gensim.models.Word2Vec(sentences=word_list, vector_size=200, window=10, min_count=1, workers=4)
# Print word vector
print(model.wv["I"])
# Save the model
model.save("w2v.out")
The author uses Gensim Generate word vectors , But there is a need , There is already a word vector model , Now we want to expand the original vocabulary , But I don't want to modify the word vector of existing words .
Gensim There is no document describing how to freeze word vectors , But we check its source code , It is found that there is an experimental variable that can help us .
# EXPERIMENTAL lockf feature; create minimal no-op lockf arrays (1 element of 1.0)
# advanced users should directly resize/adjust as desired after any vocab growth
self.wv.vectors_lockf = np.ones(1, dtype=REAL)
# 0.0 values suppress word-backprop-updates; 1.0 allows
This code can be found in gensim Of word2vec.py You can find
therefore , We can use this vectos_lockf To meet our needs , The corresponding code is directly given here
# Read the old word vector model
model = gensim.models.Word2Vec.load("w2v.out")
old_key = set(model.wv.index_to_key)
new_word_list = ["You", "are", "a", "good", "man", "."]
model.build_vocab(new_word_list, update=True)
# Get the length of the updated vocabulary
length = len(model.wv.index_to_key)
# Freeze all the previous words
model.wv.vectors_lockf = np.zeros(length, dtype=REAL)
for i, k in enumerate(model.wv.index_to_key):
if k not in old_key:
model.wv.vectors_lockf[i] = 1.
model.train(new_word_list, total_examples=model.corpus_count, epochs=model.epochs)
model.save("w2v-new.out")
In this way, the word vector is frozen , It will not affect some existing models ( We may train some models based on old word vectors ).
边栏推荐
- Faster-ILOD、maskrcnn_benchmark安装过程及遇到问题
- 将恶意软件嵌入到神经网络中
- The hystrix dashboard reported an error hystrix Stream is not in the allowed list of proxy host names solution
- Regular expressions in MySQL
- Drawing mechanism of view (II)
- Win10 solves the problem that Internet Explorer cannot be installed
- 论文写作tip2
- 【Sparse-to-Dense】《Sparse-to-Dense:Depth Prediction from Sparse Depth Samples and a Single Image》
- 论文tips
- 半监督之mixmatch
猜你喜欢

【学习笔记】反向误差传播之数值微分

MoCO ——Momentum Contrast for Unsupervised Visual Representation Learning

Implementation of yolov5 single image detection based on onnxruntime

超时停靠视频生成

mmdetection训练自己的数据集--CVAT标注文件导出coco格式及相关操作

【Programming】

【Sparse-to-Dense】《Sparse-to-Dense:Depth Prediction from Sparse Depth Samples and a Single Image》

【Random Erasing】《Random Erasing Data Augmentation》

【Sparse-to-Dense】《Sparse-to-Dense:Depth Prediction from Sparse Depth Samples and a Single Image》

基于pytorch的YOLOv5单张图片检测实现
随机推荐
TimeCLR: A self-supervised contrastive learning framework for univariate time series representation
What if a new window always pops up when opening a folder on a laptop
【Mixup】《Mixup:Beyond Empirical Risk Minimization》
Drawing mechanism of view (3)
【Batch】learning notes
基于onnxruntime的YOLOv5单张图片检测实现
MoCO ——Momentum Contrast for Unsupervised Visual Representation Learning
【Hide-and-Seek】《Hide-and-Seek: A Data Augmentation Technique for Weakly-Supervised Localization xxx》
Semi supervised mixpatch
label propagation 标签传播
Regular expressions in MySQL
Latex formula normal and italic
【TCDCN】《Facial landmark detection by deep multi-task learning》
[in depth learning series (8)]: principles of transform and actual combat
【MagNet】《Progressive Semantic Segmentation》
How to turn on night mode on laptop
Record of problems in the construction process of IOD and detectron2
Solve the problem of latex picture floating
Generate random 6-bit invitation code in PHP
ABM thesis translation