原创 tqdm模塊在處理文件閱讀時,如何顯示出進度條?

問題提出 最近,使用tqdm模塊,對於大文件的閱讀進行進度監控。然而我發現有個問題,即在tqdm模塊使用一定沒錯的情況下,進度條死活打印不出來。情況如下: 如上圖所示,這樣read file是沒有進度條顯示的。 問題解決 先說爲什麼,再

原创 BERT爲何被稱爲“自編碼模型”?爲何將BERT的訓練過程稱爲“降噪”?

最近,閱讀並調試了albert的預訓練代碼,對於BERT爲何被稱爲“自編碼”模型有了更深的理解,在這裏稍作介紹: **注:我文中所提到的albert/BERT爲預訓練而準備的對數據做[MASK]的code在這裏:prepare_l

原创 BERT中是怎麼做到只計算[MASK]token的CrossEntropyLoss的?及torch.nn.CrossEntropyLoss()參數

nn.CrossEntropyLoss()的參數 torch.nn.CrossEntropyLoss(weight=None, size_average=None, ignore_index=-100, reduce=None,

原创 倒排索引、正排索引,以及ElasticSearch對倒排索引的優化

正排索引與倒排索引 首先,我們需要這兩種索引方式是要幹啥?其實任何一種索引模式,都對應的是不同的信息存儲方式。這樣不同的存儲方式,主要是爲了不同的查詢要求而定的。正排索引和倒排索引就是如此,正排易維護,但搜索代價很大(耗時間);倒

原创 python靜態方法與類方法,以及類方法的用途

https://www.jianshu.com/p/212b6fdb2c50

原创 AttributeError:'module' xxx.py has no attribute '__path__'

遇到一個局坑爹的bug,實際很簡單,但卻很難發現到底是哪裏出了問題—— Error while finding module specification for 'convert_albert_original_tf_checkpoin

原创 數據變換的小技巧(經常更新)

引子 作爲一個小白數據挖掘工程師,如何處理分佈不均勻的數據是我們遇到的第一個難題,也是工作中最常見的問題之一。 何謂數據分佈不均勻?比如用戶做一道題的做題時間長度(簡稱做題時長),在理想狀態下應該是正態分佈的,即大部分人做題時長在一個合理

原创 softmax函數到底是什麼?——歸一化指數函數,及其python實現

softmax應該算是機器學習的入門數學知識了。softmax函數,它並不十分複雜,但又不是十分簡單,總之這個函數就是很難去背誦下來,以致於每次你要寫softmax的時候,都得搜一下才行。而每次搜索softmax,都對你的信心是一次小規模

原创 Transformer、Attention與seq2seq model

一、什麼是seq2seq,以及它和Attention機制有什麼關係 seq2seq是一種NLP常見的框架——這種框架不要求輸入和輸出序列是維度是一樣的。許多NLP task的輸入輸出維度不統一,比如機器翻譯、圖像的圖注生成、摘要生成、自動

原创 ELECTRA論文閱讀筆記

ELECTRA模型是對BERT的一次改進,該改進主要體現在對樣本的使用效率上。具體實現方式,是引入了比較像GAN的一種架構——首先,使用一個較小的generator(生成器)將隨機mask掉的token再預測出來,然後再將重新修復後的句

原创 爲何不可將神經網絡的參數全都初始化成0?

爲何不可將神經網絡的參數全都初始化成0? 證明如下:   如圖所示。所以其實可以看出,當你把所有參數都初始化爲0的時候,同一hidden layer的參數的更新幅度是一樣的。又因爲它們的初值也一樣(都是0),所以導致隱藏層的參數永遠一樣

原创 【解決】爲何python程序的輸出重定向到文件中會有延遲?

有時候,我們會寫這樣的命令行,讓python結果重定向輸出到某個日誌文件中: $ python xxx.py args1 >> out/xxx.log $ python xxx.py args1 | tee -a out/xxx.lo

原创 tf.Variable(), tf.get_variable(), tf.variable_scope(), tf.name_scope()——不同的變量創建方式決定了他們不同的用途

tf.get_variable() 創建變量的時候必須要提供 name tf.Variable()創建變量之前不會檢查是否有同樣name的變量,但tf.get_variable() 會。 因爲上一條的原因,所以tf.get_varia

原创 pip install和conda install不一樣(給pip配源)——記一次讓人熱淚盈眶的喫一塹長一智

廢話少敘。最近要在新服務器上搭建Python虛擬環境,我想將我之前本機MacBook上的虛擬環境直接copy過來。由於是跨平臺(macOS -> Linux),所以沒法用更簡單的方法。所以正常方法應該是: pip freeze > re

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

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