欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于pytorch 預(yù)訓(xùn)練的詞向量用法詳解

 更新時(shí)間:2020年01月06日 10:29:36   作者:kejizuiqianfang  
今天小編就為大家分享一篇基于pytorch 預(yù)訓(xùn)練的詞向量用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

如何在pytorch中使用word2vec訓(xùn)練好的詞向量

torch.nn.Embedding()

這個(gè)方法是在pytorch中將詞向量和詞對(duì)應(yīng)起來(lái)的一個(gè)方法. 一般情況下,如果我們直接使用下面的這種:

self.embedding = torch.nn.Embedding(num_embeddings=vocab_size, embedding_dim=embeding_dim)
num_embeddings=vocab_size  表示詞匯量的大小
embedding_dim=embeding_dim 表示詞向量的維度

這種情況下, 因?yàn)闆](méi)有指定訓(xùn)練好的詞向量, 所以embedding會(huì)幫咱們生成一個(gè)隨機(jī)的詞向量(但是在我剛剛測(cè)試的一個(gè)情感二分類問(wèn)題中, 我發(fā)現(xiàn)好像用不用預(yù)訓(xùn)練的詞向量, 結(jié)果差不多, 不過(guò)不排除是因?yàn)楫?dāng)時(shí)使用的模型比較簡(jiǎn)單, 導(dǎo)致一些特征根本就沒(méi)提取出來(lái)).

如果我想使用word2vec預(yù)訓(xùn)練好的詞向量該怎么做呢?

其實(shí)很簡(jiǎn)單,pytorch已經(jīng)給我們提供好了接口

self.embedding.weight.data.copy_(torch.from_numpy(embeding_vector))
self.embedding.weight.requires_grad = False

上面兩句代碼的意思, 第一句就是導(dǎo)入詞向量, 第二句表示的是在反向傳播的時(shí)候, 不要對(duì)這些詞向量進(jìn)行求導(dǎo)更新. 我還看到有人會(huì)在優(yōu)化器那里使用這樣的代碼:

# emotion_net是我定義的模型
optimizer = torch.optim.Adam(filter(lambda p: p.requires_grad, emotion_net.parameters()), lr=1e-3, betas=(0.9, 0.99))

大概意思也是為了保證詞向量不會(huì)被反向傳播而更新, 具體有沒(méi)有用我就不清楚了.

其實(shí)我感覺(jué)大家比較在意的其實(shí)應(yīng)該是embeding_vector的形式, 下面我就介紹一下embeding_vector的形式

為了講述方便, 這里定義出下面幾個(gè)矩陣

​embeding_vector:表示詞向量,每行是一個(gè)詞的詞向量,有多少行就說(shuō)明有多少單詞

word_list:表示單詞列表,里面就是單詞

word_to_index:這個(gè)矩陣將word_list中的單詞和embeding_vector中的位置對(duì)應(yīng)起來(lái) ​

其實(shí)embeding_vector是一個(gè)numpy矩陣, 當(dāng)然你看到了, 實(shí)際輸入到pytorch的時(shí)候, 是需要轉(zhuǎn)換成tensor類型的. 這個(gè)矩陣是什么樣子的呢? 其中這個(gè)矩陣是 [vocab_size×embeding_dim] [vocab\_size \times embeding\_dim][vocab_size×embeding_dim] 的形式. 其中一共包含vocab_size vocab\_sizevocab_size 個(gè)單詞, 每個(gè)單詞的維度是 embed_dim embed\_dimembed_dim, 我們把這樣一個(gè)矩陣輸入就行了.

之后, 我們要做的其實(shí)就是將 word_to_index word\_to\_indexword_to_index 這個(gè)矩陣搞出來(lái), 這里的單詞轉(zhuǎn)下標(biāo)的矩陣, 就是聯(lián)系 embeding_vector embeding\_vectorembeding_vector 和 word_list word\_listword_list 這兩個(gè)矩陣的中間者. 我們?cè)谳斎氲絫orch.nn.Embedding中之前, 需要先通過(guò) word_to_index word\_to\_indexword_to_index 將單詞轉(zhuǎn)換成 embeding_vector embeding\_vectorembeding_vector 的下標(biāo)就可以了.

以上這篇基于pytorch 預(yù)訓(xùn)練的詞向量用法詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python3中關(guān)于excel追加寫入格式被覆蓋問(wèn)題(實(shí)例代碼)

    python3中關(guān)于excel追加寫入格式被覆蓋問(wèn)題(實(shí)例代碼)

    這篇文章主要介紹了python3中關(guān)于excel追加寫入格式被覆蓋問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • python之當(dāng)你發(fā)現(xiàn)QTimer不能用時(shí)的解決方法

    python之當(dāng)你發(fā)現(xiàn)QTimer不能用時(shí)的解決方法

    今天小編就為大家分享一篇python之當(dāng)你發(fā)現(xiàn)QTimer不能用時(shí)的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • pytorch和tensorflow計(jì)算Flops和params的詳細(xì)過(guò)程

    pytorch和tensorflow計(jì)算Flops和params的詳細(xì)過(guò)程

    這篇文章主要介紹了pytorch和tensorflow計(jì)算Flops和params,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • Python中的GIL全局解釋器鎖多線程編程的隱患剖析

    Python中的GIL全局解釋器鎖多線程編程的隱患剖析

    Python作為一門強(qiáng)大而靈活的編程語(yǔ)言,吸引了大量的開(kāi)發(fā)者,然而,對(duì)于多線程編程來(lái)說(shuō),Python引入了一個(gè)概念——全局解釋器鎖(Global Interpreter Lock,簡(jiǎn)稱GIL),它在一定程度上影響了多線程程序的性能,本文將深入探討GIL的概念,它對(duì)多線程編程的影響以及如何處理與繞過(guò)它
    2023-10-10
  • python爬蟲(chóng)之利用Selenium+Requests爬取拉勾網(wǎng)

    python爬蟲(chóng)之利用Selenium+Requests爬取拉勾網(wǎng)

    這篇文章主要介紹了python爬蟲(chóng)之利用Selenium+Requests爬取拉勾網(wǎng),文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python爬蟲(chóng)的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-04-04
  • Python利用PaddleOCR制作個(gè)搜題小工具

    Python利用PaddleOCR制作個(gè)搜題小工具

    PaddleOCR是一個(gè)基于百度飛槳的OCR工具庫(kù),單模型支持中英文數(shù)字組合識(shí)別、豎排文本識(shí)別、長(zhǎng)文本識(shí)別。本文將利用PaddleOCR開(kāi)發(fā)一個(gè)搜題小工具,感興趣的可以了解一下
    2022-06-06
  • Python運(yùn)維自動(dòng)化之nginx配置文件對(duì)比操作示例

    Python運(yùn)維自動(dòng)化之nginx配置文件對(duì)比操作示例

    這篇文章主要介紹了Python運(yùn)維自動(dòng)化之nginx配置文件對(duì)比操作,涉及Python針對(duì)文件的讀取、遍歷、比較進(jìn)而達(dá)到差異對(duì)比的相關(guān)操作技巧,需要的朋友可以參考下
    2018-08-08
  • python爬取熱搜制作詞云

    python爬取熱搜制作詞云

    這篇文章主要介紹了python爬取百度熱搜制作詞云,首先爬取百度熱搜,至少間隔1小時(shí),存入文件,避免重復(fù)請(qǐng)求,如果本1小時(shí)有了不再請(qǐng)求,存入數(shù)據(jù)庫(kù),供詞云包使用,爬取熱搜,具體流程請(qǐng)需要的小伙伴參考下面文章內(nèi)容
    2021-12-12
  • Python線性回歸實(shí)戰(zhàn)分析

    Python線性回歸實(shí)戰(zhàn)分析

    這篇文章主要介紹了Python線性回歸實(shí)戰(zhàn)分析以及代碼講解,對(duì)此有興趣的朋友學(xué)習(xí)下吧。
    2018-02-02
  • 使用Python畫了一棵圣誕樹(shù)的實(shí)例代碼

    使用Python畫了一棵圣誕樹(shù)的實(shí)例代碼

    這篇文章主要介紹了使用Python畫了一棵圣誕樹(shù)的實(shí)例代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11

最新評(píng)論