關於mask的一些操作

2021-10-18 03:43:09 字數 1124 閱讀 2348

博主是乙個剛剛開始做科研的科研菜雞,在我目前的印象裡,把mask用火的就是bert了,現在的nlp task也多基於bert系列的embedding,當我們進行具體工作時,如果想要對bert的embedding進行進一步的妙用,就很容易接觸到自己mask一些embedding了。

除了mask,我們還有可能需要自己新增一些特殊的token。注意:如果新增的token頻繁出現,可能就不是簡單的fine-tuning能取得好效果的了。關於如何給bert的詞彙表新增特殊的token,可以參考博主的這篇文章

接下來介紹一些博主目前用過看過的mask的總結(日後持續更新):

比如我生成了一波tensor代表word embedding,設paddding符合的idx為0,我們想要在實際引用中將idx為0的單詞遮住,這時候就需要乙個mask,我們這裡生成乙個mask,mask是個tensor,和question_wids形狀相同,在不需要遮住的地方值為1,需要遮住的地方值為0

import torch

wemb_vocab_size =

5000

q_max_len =

50batch_size =

32question_lengths = torch.longtensor(batch_size)

.random_(

1, q_max_len)

.cuda(

)question_wids = torch.zeros(batch_size, q_max_len)

.long()

.cuda(

)for i in

range

(batch_size)

: question_wids[i,

0:question_lengths[i]

]= \

torch.longtensor(

1, question_lengths[i]

).random_(

1, wemb_vocab_size)

mask =

(torch.ones_like(question_wids)*0

!= question_wids)

.float()

.cuda(

)

關於tomcat的一些操作

參考 先感謝這位兄弟的整理,感覺很有用,這裡自己也借用一下 1.tomcat原來的預設根目錄是http localhost 8080,如果想修改訪問的根目錄,可以這樣 找到tomcat的server.xml 在conf目錄下 找到 如下 unpackwars true autodeploy true...

關於檔案的一些操作

今天遇到一些關於檔案的知識點 codeblocks16.0裡面不支援 include只有 include使用時要把std包包含在裡面 using namespace std 而vc6.0卻不能使用這個包 下面是課件上的一些知識點,以後用到的時候再拿出來看看吧 include void main in...

關於日誌的一些操作

常用的系統日誌如下 核心啟動日誌 var log dmesg 系統報錯日誌 var log messages 郵件系統日誌 var log maillog ftp系統日誌 var log xferlog 安全資訊和系統登入與網路連線的資訊 bar log secure 登入記錄 var log wt...