Skip to content

Machine Learning

[Deep Learning] 在 Windows 上搭建 Tensorflow、CUDA、cuDNN 的訓練環境

搭建深度學習環境一直都不是一項簡單的事情,尤其是相當主流的 Nvidia 顯卡和 Tensorflow 的組合,其中版本的問題以及需要額外安裝的驅動、CUDA、cuDNN 就夠讓人頭疼了。而且主流的作業系統是 Linux 而非 Windows ,可以發現教學文明顯就少了些。

Read More »[Deep Learning] 在 Windows 上搭建 Tensorflow、CUDA、cuDNN 的訓練環境

[PyTorch] 如何使用 squeeze() 和 unsqueeze() 函式去改變張量形狀

在剛開始接觸 PyTorch 這個框架時,為了逐漸掌握 PyTorch 搭建模型的方法,我閱讀、執行過許多官方教學文件上的範例程式。那個時候,經常能在範例程式當中見到 squeeze()unsqueeze() 等函式,卻不太明白這兩個函式究竟有什麼樣的用途。

Read More »[PyTorch] 如何使用 squeeze() 和 unsqueeze() 函式去改變張量形狀

[PyTorch] 使用 view() 和 permute() 轉換維度

PyTorch 是一個基於 Python 的深度學習框架,我們可以藉由 PyTorch 所包裝好的模組、函式,輕易地實作我們想要實現的模型架構。而說到深度學習,就不得不提到使用 GPU 的平行化運算,提到 GPU 的平行化運算,就一定得說到我們得將輸入神經元的『維度』固定,好實現平行化運算。

Read More »[PyTorch] 使用 view() 和 permute() 轉換維度

[Python] 使用 ShuffleSplit() 進行 cross-validation

Cross-validation (交叉驗證) 是機器學習中『切割資料』的一個重要的觀念。簡單來說,當我們訓練一個模型時,我們通常會將資料分成『訓練資料』(Training data) 和『測試資料』(Test data),然後我們使用訓練資料訓練模型、並使用模型從來沒見過的測試資料評估模型的好壞。

Read More »[Python] 使用 ShuffleSplit() 進行 cross-validation