最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

torch.nn.Embedding()

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

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

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

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

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

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

上面兩句代碼的意思, 第一句就是導(dǎo)入詞向量, 第二句表示的是在反向傳播的時候, 不要對這些詞向量進行求導(dǎo)更新. 我還看到有人會在優(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))

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

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

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

​embeding_vector:表示詞向量,每行是一個詞的詞向量,有多少行就說明有多少單詞

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

word_to_index:這個矩陣將word_list中的單詞和embeding_vector中的位置對應(yīng)起來 ​

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

之后, 我們要做的其實就是將 word_to_index word\_to\_indexword_to_index 這個矩陣搞出來, 這里的單詞轉(zhuǎn)下標的矩陣, 就是聯(lián)系 embeding_vector embeding\_vectorembeding_vector 和 word_list word\_listword_list 這兩個矩陣的中間者. 我們在輸入到torch.nn.Embedding中之前, 需要先通過 word_to_index word\_to\_indexword_to_index 將單詞轉(zhuǎn)換成 embeding_vector embeding\_vectorembeding_vector 的下標就可以了.

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

相關(guān)文章

  • pytorch masked_fill報錯的解決

    pytorch masked_fill報錯的解決

    今天小編就為大家分享一篇pytorch masked_fill報錯的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • keras回調(diào)函數(shù)的使用

    keras回調(diào)函數(shù)的使用

    本文主要介紹了keras回調(diào)函數(shù)的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2023-03-03
  • python numpy中對ndarry按照index增刪改查

    python numpy中對ndarry按照index增刪改查

    這篇文章主要介紹了python numpy中對ndarry按照index增刪改查,在numpy中的ndarry是一個數(shù)組,因此index就是位置下標,注意下標是從0開始,接下來一起進入下面文章了解詳細內(nèi)容吧
    2022-02-02
  • SymPy庫關(guān)于矩陣的基本操作和運算

    SymPy庫關(guān)于矩陣的基本操作和運算

    本文主要介紹了SymPy庫關(guān)于矩陣的基本操作和運算,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2023-03-03
  • Python3字符串學(xué)習教程

    Python3字符串學(xué)習教程

    這篇文章主要介紹了Python3字符串學(xué)習教程,是Python入門學(xué)習中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-08-08
  • 如何使用conda和pip批量安裝Python包

    如何使用conda和pip批量安裝Python包

    這篇文章主要介紹了如何使用conda和pip批量安裝Python包問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Python類與實例的使用詳解

    Python類與實例的使用詳解

    面向?qū)ο笞钪匾母拍罹褪穷悾–lass)和實例(Instance),必須牢記類是抽象的模板,比如Student類,而實例是根據(jù)類創(chuàng)建出來的一個個具體的“對象”,每個對象都擁有相同的方法,但各自的數(shù)據(jù)可能不同
    2022-08-08
  • NumPy中掩碼數(shù)組的操作

    NumPy中掩碼數(shù)組的操作

    本文主要介紹了NumPy中掩碼數(shù)組的操作,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2023-03-03
  • python采集博客中上傳的QQ截圖文件

    python采集博客中上傳的QQ截圖文件

    這篇文章主要介紹了python采集博客中上傳的QQ截圖文件,因為文件名包含中文會在某些時候亂碼,例如這件的文件名QQ截圖20120926174732,所以需要采集出來修改掉,需要的朋友可以參考下
    2014-07-07
  • pygame時序模塊time的具體使用

    pygame時序模塊time的具體使用

    Pygame Time模塊能夠幫助你更好地控制幀率和時間,從而增強游戲的可玩性,本文主要介紹了pygame時序模塊time的具體使用,具有一定的參考價值,感興趣的可以了解一下
    2023-12-12

最新評論

岳西县| 侯马市| 陵川县| 怀远县| 桐城市| 繁昌县| 巩留县| 保亭| 如东县| 滨州市| 武强县| 静乐县| 阿瓦提县| 栾城县| 阳朔县| 胶南市| 玉龙| 东平县| 报价| 临沭县| 靖州| 三门县| 德庆县| 安西县| 正镶白旗| 安徽省| 兴安县| 长宁县| 洱源县| 临高县| 凉城县| 油尖旺区| 玉田县| 台前县| 界首市| 阿瓦提县| 辽阳市| 大渡口区| 连平县| 临高县| 赤水市|