[Machine Learning] CodeBERT 使用方法與介紹(附範例程式碼)
簡介
CodeBERT 這一預訓練模型(pre-trained model)提出自《CodeBERT: A Pre-Trained Model for Programming and Natural Languages》。
Read More »[Machine Learning] CodeBERT 使用方法與介紹(附範例程式碼)CodeBERT 這一預訓練模型(pre-trained model)提出自《CodeBERT: A Pre-Trained Model for Programming and Natural Languages》。
Read More »[Machine Learning] CodeBERT 使用方法與介紹(附範例程式碼)平均絕對誤差(Mean Absolute Error, MAE)是一個非常有名且基礎的評估指標,通常會出現在機器學習入門課的第一堂課、或第 N 堂 —— 這須視乎你的老師怎麼安排教材。不過對我而言,它就像瑪利歐在關卡 1-1 出發後的第一隻蘑菇怪一樣的存在。
Read More »[Machine Learning] MAE 指標介紹與程式實作pkbar 是最近在閱讀他人對於 pointer-generator network 實現時意外看到的一種『進度條』實現方法,號稱可以在 PyTorch 上使用 Keras 風格的進度條。 的確,Keras 預設的進度條還滿淺顯易懂,比起需要自己去印出進度條的 PyTorch 來說使用上更加快速。
當然,其實不僅是可以在 PyTorch 框架的程式碼中使用,也可以在任何迴圈中使用。
Read More »[PyTorch] 使用 Keras 風格進度條的套件: pkbarEarly stopping 是一種應用於機器學習、深度學習的技巧,正如字面上的意思 —— 較早地停止。在進行監督式學習的過程中,這很有可能是一個找到模型收斂時機點的方法。
Read More »[PyTorch] 應用 Early stopping 技術讓模型在較好的收斂時間點停止訓練在使用 PyTorch 搭建深度學習環境的時候,若是我們有著切割資料集的需求(比方說將訓練資料切出驗證資料),在將資料封裝成 PyTorch 的 dataset 物件時,我們便可以透過 PyTorch 內建的切割函式 —— random_split()
來做到切割資料集。
PyTorch 是一個經常用於架構深度學習的框架,從名字就可以看出,是使用 Python 語法來調用的。PyTorch 封裝了各式各樣常用於深度學習的函式、神經網路、模型架構,使用上非常方便。
Read More »[PyTorch] 設置種子參數重現模型訓練結果在剛開始接觸 PyTorch 這個框架時,為了逐漸掌握 PyTorch 搭建模型的方法,我閱讀、執行過許多官方教學文件上的範例程式。那個時候,經常能在範例程式當中見到 squeeze()
、unsqueeze()
等函式,卻不太明白這兩個函式究竟有什麼樣的用途。
PyTorch 是一個基於 Python 的深度學習框架,我們可以藉由 PyTorch 所包裝好的模組、函式,輕易地實作我們想要實現的模型架構。而說到深度學習,就不得不提到使用 GPU 的平行化運算,提到 GPU 的平行化運算,就一定得說到我們得將輸入神經元的『維度』固定,好實現平行化運算。
Read More »[PyTorch] 使用 view() 和 permute() 轉換維度在我們使用 PyTorch 搭建 RNN 與其各種變體 (比如 LSTM、GRU) 的模型時,若搭配 PyTorch 所提供的 Embedding 層當作模型第一層的嵌入層,那麼,我們經常會碰到不同長度序列的文章。
Read More »[PyTorch] 如何使用 pad_packed_sequence 和 pack_padded_sequence 調整可變長度序列批次今天,當我在嘗試著自己使用 nn.Embedding() 拼接並計算句向量的時候,我在自己預先準備的 DataLoader 上得到了這樣的一個報錯:
Read More »[已解決][PyTorch] TypeError: expected Tensor as element 0 in argument 0, but got list