gensim匯入pytorch embedding
gensim 匯入model方法
gensim 匯入word2vec模型
使用KeyedVector.load_word2vec_format() ,這樣將模型載入到一個keyvector例項中
import gensim
model = gensim.models.KeyedVectors.load_word2vec_format('vectors.bin', binary=True)
此處匯入了 word2vec的模型,vectors.bin是模型檔案
- 如果是glove檔案應該怎麼辦呢
如果我們的glove檔案是一個txt檔案,那麼就需要將它轉成word2vec的形式
import gensim
glove_file = 'test_glove.txt'
word2vec_file = 'word2vec.txt'#這是轉換後的檔名
from gensim.scripts.glove2word2vec import glove2word2vec
glove2word2vec(glove_file, word2vec_file )
# 載入轉化後的檔案
model = KeyedVectors.load_word2vec_format(tmp_file) #這樣就可以將glove檔案載入
- 也可以將glove檔案儲存使用save_word2vec_format儲存詞向量檔案
model.wv.save_word2vec_format("model.bin", binary=True)
下次載入時,直接從model.bin中獲取即可。
gensim 構建pytorch的預訓練embedding
- 首先,一般可以統計出我們的訓練語料的詞表vocab,將它與gensim載入的詞表求交集,這樣可以減少embedding的大小
- 匯入pytorch nn.embedding的程式碼
def creat_embedding():#注意要先確定好訓練語料裡面有的單詞
word_vectors =torch.randn([vocab_size,300])# 這裡的vocab_size 是指 訓練語料的vocabsize
word_to_idx = train_word2idx
word_vectors[1,:] = torch.zeros([1,300]) # 這裡是讓 第1個向量成為0向量,此處是<pad>
for i in range(2,vocab_size):
word = train_idx2word[i]
if word in wvmodel:
vector = wvmodel[word]
word_vectors[i,:] = torch.from_numpy(vector)
print(word_vectors.size())
#embedding = nn.Embedding.from_pretrained(word_vectors)
#embedding.weight.requires_grad = True
return word_vectors,word_to_idx #最終輸出一個詞表和一個arrary 用於輸入embedding
最後使用nn.Embedding.from_pretrained(weight) weight 需要是tensor
相關文章
- pytorch中nn.Embedding理解PyTorch
- Pytorch之Embedding與Linear的愛恨糾葛PyTorch
- 001-深度學習Pytorch環境搭建(Anaconda , PyCharm匯入)深度學習PyTorchPyCharm
- 構建RAG應用-day03: Chroma入門 本地embedding 智譜embedding
- Linux下安裝GensimLinux
- Pytorch入門-dataloaderPyTorch
- Pytorch入門-TransformsPyTorchORM
- Pytorch Dataset入門PyTorch
- Activity 流程模型匯入匯出-activity流程模型匯入匯出模型
- esayExcel匯入匯出Excel
- doris匯入匯出
- Mysql匯入&匯出MySql
- 【Pytorch教程】迅速入門Pytorch深度學習框架PyTorch深度學習框架
- pytorch入門(七):unsqueezePyTorch
- Pytorch入門下 —— 其他PyTorch
- Pytorch入門演練PyTorch
- navlicat 匯入匯出SQLSQL
- vue excel匯入匯出VueExcel
- Oracle資料庫匯入匯出。imp匯入命令和exp匯出命令Oracle資料庫
- Embedding flow
- MySQL入門--匯出和匯入資料MySql
- MATLAB匯入txt和excel檔案技巧彙總:批量匯入、單個匯入MatlabExcel
- EasyExcel匯入Excel
- phpMyAdmin匯入/匯出資料PHP
- Oracle資料匯入匯出Oracle
- .net6 匯入匯出
- 【docker】docker映象匯出匯入Docker
- Excel匯入匯出神器(Java)ExcelJava
- Angular Excel 匯入與匯出AngularExcel
- 資料泵匯出匯入
- sqoop資料匯入匯出OOP
- Oracle 資料匯入匯出Oracle
- ASP.NET 開源匯入匯出庫Magicodes.IE 完成Csv匯入匯出ASP.NET
- 使用Gensim進行主題建模(二)
- 使用Gensim進行主題建模(一)
- NLP:Gensim庫之word2vec
- code embedding研究系列一-基於token的embedding
- 時間embedding