原创 LeetCode-5.最長迴文子串——又見雙指針

題目:最長迴文子串 思路🤔——還是雙指針 迴文序列,那就是正着反着讀一樣。所以很容易想到雙指針夾逼的方法   指定指針p從字符串前端開始循環,同時指定指針q從字符串後端開始循環(往前走,一次一步),q每走完全程(遇到p)或得到了答案,則

原创 LeetCode-4.尋找兩個正序數組的中位數(hard)——折半查找

題目:尋找兩個正序數組的中位數   思路: 同類題:找到有序數組中第k小的數字——折半查找(刪除) 計算k值——對於雙數組總長度是奇數,則k爲雙數組長度(len//2 + 1)(向上取整);若是偶數,則取第len//2、第len//2

原创 LeetCode-2.兩數相加——鏈表及對其性質的理解

題目:兩數相加 該題目沒有技巧和算法的考察,只是在挑戰一些很容易出錯的細節問題 right-code # Definition for singly-linked list. # class ListNode(object):

原创 LeetCode-3.無重複字符的最長子串——又見雙指針

題目: 無重複字符的最長子串 思路🤔: 雙指針題 指針q永遠步進一步,指針p不動,直到p/q兩個指針指向的字符一樣; 當q指針指向的內容,和p~q之間的內容有重複時: 2.1 返回p/q之間的位差,即當前的無重複子串長度 2.

原创 淺談sigmoid函數和softmax函數

問題提出 最近在找文本分類問題的trick,偶爾看到夕小瑤大佬的一個回答: 在文本分類任務中,有哪些論文中很少提及卻對性能有重要影響的tricks? - 夕小瑤的回答 - 知乎 https://www.zhihu.com/que

原创 LeetCode-1.兩數之和——靈活掌握不同數據結構的特性會顯著降低時間複雜度

題目:兩數之和   right answer class Solution(object): def twoSum(self, nums, target): """ :type nums: Li

原创 Python內建函數iter()爲何會接收2個參數?

### 以下內容基於Python 3.6 最近,閱讀Python官方多進程代碼時,在最後一個例子裏,發現了iter()函數還有這種用法: def worker(input, output): for func, args i

原创 Sentence-BERT 論文閱讀

BERT、RoBERTa已經在文本語義相似度任務(semantic textual similarity ,STS)上達到了sota。然而,BERT要求句子對拼接到一起再傳入模型中,這會導致巨大的計算開銷——例如,在10000條句子中尋

原创 BERT、ALBERT模型加載——From pytorch_model.bin

我在載入BERT/ALBERT的預訓練模型時,總會好奇於它的模型參數到底是怎麼一步步被填到模型框架裏的,此外我也想更明晰地看到模型參數是否被正確地填入,以防預訓練的模型參數沒被正確載入。因此對BERT模型的載入代碼進行了單步調試,

原创 git只會跟蹤文件,空文件夾無法被跟蹤

git只會跟蹤文件,如果你只是新建了空目錄,是不會被跟蹤的,使用git status不會得到任何蹤跡。 那如果我們想要保留項目必要的架構路徑,同時不上傳較大的log文件該怎麼做呢?兩種做法: 在目標路徑下加入.gitignore

原创 Cross-Domain NER using Cross-Domain Language Modeling論文閱讀

NER模型的訓練依賴於有標記的數據,有標記數據的質量會決定NER模型最終的表現。但很多領域的標記數據較少,成爲了NER任務的瓶頸。現存的很多方法,都會充分利用源領域和目標領域的標記數據進行監督學習。然而這種方法的缺點就在於,目標領域必須

原创 anaconda創建新虛擬環境後,pip總是定位到全局Python的pip路徑中(無法定位到虛擬環境的pip)

問題描述 : 創建了新的conda虛擬環境,然後開始用pip安裝相關庫,緊接着報錯,提示pip版本過低——經調試發現,並非該虛擬環境的pip版本低,其實是因爲pip定位到的是全局默認Python的pip了,而全局默認的Python版本是P

原创 服務器Ubuntu 16.04 更新NVIDIA顯卡驅動-命令行版本及報錯完美解決

爲何有這種需求? 我的tensorflow2.1.0要求CUDA 10.1 + cuDNN 7.6.5版本支持;但對於CUDA 10.1+而言,必須要將NVIDIA顯卡驅動升級至>=418.39才行。具體參考:https://docs.n

原创 非root用戶安裝cuda、cudnn(for tensorflow==2.1.0,CUDA 10.1,cuDNN 7.6.5)

爲何有這種需求: 服務器上非root賬戶; hanlp以tensorflow2.0+爲基礎; 服務器原有cuda版本9.0,cudnn7.1.3,均不符tensorflow2.1.0要求,無法啓動GPU運算 踩坑合集 1.上官網下載與te

原创 關於BERT和Transformer的易錯點

1. BERT中使用Transformer作特徵提取器,其實只使用了Transformer的Encoder。 那麼Decoder去哪了呢?顯然是被BERT改造了。Transformer其實是個完整地seq-to-seq模型,可以解決諸如機