Deep Learning 101, Taiwan’s pioneering and highest deep learning meetup, launched on 2016/11/11 @ 83F, Taipei 101
AI是一條孤獨且充滿惶恐及未知的旅程,花俏絢麗的收費課程或活動絕非通往成功的捷徑。
衷心感謝當時來自不同單位的AI同好參與者實名分享的寶貴經驗;如欲移除資訊還請告知。
由 TonTon Huang Ph.D. 發起,及其當時任職公司(台灣雪豹科技)無償贊助場地及茶水點心。
Deep Learning 101 創立初衷,是為了普及與分享深度學習及AI領域的尖端知識,深信AI的價值在於解決真實世界的商業問題。
💻 手把手帶你建置 Deep Learning 開發環境:從硬體到 Docker 完全指南
建立一個穩定且高效的深度學習開發環境,往往是新手最容易感到挫折的第一關。本文提供從零開始的詳細指南,涵蓋硬體選擇、作業系統安裝、驅動程式設定、CUDA/cuDNN 安裝,以及 Docker/NVIDIA-Docker 的配置,助你避開常見的「環境依賴地獄」。
作者:TonTon Huang Ph.D.
原文出處:手把手帶你學 Tensorflow、Pytorch、CUDA… (發布於 2020/05)
🖥️ 1. 硬體選擇與升級歷程
俗話說「工欲善其事,必先利其器」,深度學習對算力的要求極高。
- GPU 選擇建議:強烈建議選擇基於 Pascal 架構(如 GTX 1080)以上的 GPU,以確保對現代深度學習框架的良好支援。
- 作者的真實升級歷程:
- 2016年:GIGABYTE GTX 960 4G ×2
- 2017年:技嘉 GTX1080 XTREME GAMING 8G
- 2018年:NVIDIA TITAN V + TITAN XP
- 2023年:RTX 6000 Ada 48GB ×2 和 A100 80GB ×4
- 2024年:RTX 6000 Ada 48GB ×8 ×2
🐧 2. 作業系統與依賴項設定
- Ubuntu 系統選擇:建議使用 Ubuntu 16.04 LTS 或 20.04 LTS,這兩個版本對 CUDA 和 cuDNN 的社群支援與穩定性最佳。
- 前置準備:在安裝 NVIDIA 驅動程式前,務必先安裝編譯必備的依賴項(如
dkms、build-essential等)。 - 避坑警告 (USB Wi-Fi):Ubuntu 上的 USB Wi-Fi 驅動常有相容性問題,安裝時可能需要手動編譯驅動,或直接選擇原生支援的網卡硬體。
⚙️ 3. GPU 驅動與 CUDA/cuDNN 安裝
這是最容易出錯的環節,請務必確認版本對應關係!
- 乾淨安裝驅動:
- 徹底移除舊版:
sudo apt-get remove --purge nvidia* - 安裝依賴:
sudo apt install dkms build-essential linux-headers-generic - 建議在關閉圖形界面 (tty 模式) 的狀態下進行 NVIDIA 驅動安裝,並注意禁用內建的 Nouveau 驅動。
- 徹底移除舊版:
- CUDA & cuDNN 配置:
- CUDA 版本必須與你的 GPU 型號及深度學習框架 (如 PyTorch/TensorFlow) 兼容。
- cuDNN 是加速神經網路的關鍵,安裝後需確認將動態庫路徑正確添加到
LD_LIBRARY_PATH環境變數中。
🐳 4. Docker 與 NVIDIA-Docker 容器化配置
為了避免不同專案間的套件版本衝突,「容器化」是現代 AI 開發的標配。
- Docker 安裝:安裝 Docker CE 並設定好使用者權限 (加入 docker group),以免每次執行都要加
sudo。 - NVIDIA-Docker:這是讓 Docker 容器能夠直接調用實體 GPU 資源的關鍵套件。配置完成後,你就能輕鬆在不同機器間無縫轉移開發環境。
🛠️ 5. 常見問題、調優與實用工具
- 效能監控:隨時使用
nvidia-smi指令檢查 GPU 使用率與 VRAM 消耗,避免 Out of Memory (OOM) 導致訓練崩潰。 - NVIDIA NGC:NVIDIA 官方提供的 GPU 優化容器庫 (NVIDIA GPU Cloud),可以直接拉取已經設定好最佳化環境的 PyTorch/TensorFlow 映像檔。
- Jupyter Notebook:建議配置 Jupyter 作為主要的實驗環境,方便進行程式碼的互動與資料視覺化。
💡 結語:環境建置雖然繁瑣,但一個乾淨、容器化的基礎建設,將為你未來的模型訓練省下無數的除錯時間。準備好你的 Ubuntu 與 Docker,開始訓練你的第一個模型吧!