当前位置:网站首页>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 ).
边栏推荐
- 论文写作tip2
- Translation of the paper "written mathematical expression recognition with bidirectionally trained transformer"
- PHP returns the abbreviation of the month according to the numerical month
- 使用百度网盘上传数据到服务器上
- Faster-ILOD、maskrcnn_ Benchmark installation process and problems encountered
- Daily practice (19): print binary tree from top to bottom
- Faster-ILOD、maskrcnn_benchmark安装过程及遇到问题
- Open failed: enoent (no such file or directory) / (operation not permitted)
- 常见的机器学习相关评价指标
- Remplacer l'auto - attention par MLP
猜你喜欢

常见CNN网络创新点

【Batch】learning notes

Execution of procedures

Win10+vs2017+denseflow compilation

How to turn on night mode on laptop

【Hide-and-Seek】《Hide-and-Seek: A Data Augmentation Technique for Weakly-Supervised Localization xxx》

图片数据爬取工具Image-Downloader的安装和使用

【Mixup】《Mixup:Beyond Empirical Risk Minimization》

【Mixed Pooling】《Mixed Pooling for Convolutional Neural Networks》

【Sparse-to-Dense】《Sparse-to-Dense:Depth Prediction from Sparse Depth Samples and a Single Image》
随机推荐
【AutoAugment】《AutoAugment:Learning Augmentation Policies from Data》
【Cutout】《Improved Regularization of Convolutional Neural Networks with Cutout》
【学习笔记】Matlab自编图像卷积函数
What if the notebook computer cannot run the CMD command
【Mixed Pooling】《Mixed Pooling for Convolutional Neural Networks》
TimeCLR: A self-supervised contrastive learning framework for univariate time series representation
Latex formula normal and italic
【AutoAugment】《AutoAugment:Learning Augmentation Policies from Data》
【DIoU】《Distance-IoU Loss:Faster and Better Learning for Bounding Box Regression》
Handwritten call, apply, bind
【Cascade FPD】《Deep Convolutional Network Cascade for Facial Point Detection》
Determine whether the version number is continuous in PHP
Execution of procedures
Common machine learning related evaluation indicators
Timeout docking video generation
PHP returns the abbreviation of the month according to the numerical month
【MobileNet V3】《Searching for MobileNetV3》
【Sparse-to-Dense】《Sparse-to-Dense:Depth Prediction from Sparse Depth Samples and a Single Image》
论文tips
【雙目視覺】雙目矯正