# Step3_Ubuntu Server深度學習環境安裝 對於第一次安裝Ubuntu Server環境的人肯定覺得困難重重。本篇針對大家最害怕的版本相依性提供一點頭緒,並對安裝過程做了重點筆記。希望在安裝的坑上幫上大家一點小忙。 ## 流程概覽 版本選擇是安裝過程最重要的部分,尤其版本常常有相依性問題,常常面臨要選擇得太多,無從下手的問題,隨後提供大家幾個可行的思路。 在這之前,先快速瀏覽整體安裝過程及步驟目的,要選擇版本的時刻也對應這幾個項目 1. Server作業系統安裝: 電腦要正常開機沒有OS怎麼行 2. Nvidia顯卡驅動: 提供顯卡和作業系統溝通的橋樑 3. CUDA Toolkit: 開發時GPU會使用到的函式庫一切盡在Toolkits中 4. CuDNN 加速庫: 針對深度學習環境,"快,還要更快"套件 5. Anaconda: 管理開發環境的應用程式 6. Pytorch: 深度學習深起來 ## 懶人整理,幫你檢查安裝有沒有成功 - Server作業系統安裝 -> 驗證: 能開機就對了 - CUDA 的顯卡driver -> 驗證: nvidia-smi - CUDA toolkit -> 驗證: nvcc -V - CuDNN 加速庫 -> 驗證: cudnn_version.h中的CUDNN_MAJOR變數 - Anaconda -> 驗證: conda - Pytorch -> 驗證: python中import torch ## 版本選擇思路 流程步驟這麼多,每個步驟版本又有百百種,我到底該怎麼選擇??請各位不要緊張,下方提供大家幾個可行的思路。 1. 佛系安裝 也就是依照流程順序,一路決定當下能用的版本,其實也是個人最常用的方式,過去經驗中,只要你的硬體不算過時,對於大多數的實驗環境都是友善的 2. 先確認目標torch的版本再來決定安裝過程一系列的版本 在pytorch官網可以看到所有版本的對應的安裝資訊 https://pytorch.org/get-started/previous-versions/ 因此能先得知需要的cuda版本,接著一路安裝對應的版本,屬實比較複雜。可以確定的一點是gpu driver最最優先選擇安裝,先有gpu用再說。 (有待整理) >小聊一下....在安裝RTX4090的server過程中,安裝driver後透過`nvidia-smi`我的最高相容版本是12.2後,先到pytorch官網查看現行可用的版本(查詢結果入下圖)。發現最新的是12.1,那我就把它當作目標安裝了。一路從cuda toolkits就選擇12.1版本。  ## 1. 裝好你的作業系統 例如ubuntu22.04,本篇不管這邊 關鍵字提示: Rufus製作開機碟 習慣上在系統安裝後我就會開啟ssh工具設定好遠端連線 ## 2. 安裝顯卡驅動 功能: 讓顯卡跟作業系統能好好溝通 ``` 1. 顯示可用驅動 ubuntu-drivers devices 2. 若不想指定版本,可以直接使用自動安裝 sudo ubuntu-drivers autoinstall 3. 確認是否安裝成功 nvidia-smi ``` 重開機!!! ## 3. 安裝CUDA Toolkits 功能: 開發時GPU會使用到的函式庫一切盡在Toolkits中 大哉問: 版本要怎麼選擇呢? > 透過nvidia-smi指令的右上角可以看到能相容的最高版本,版本可以向下兼容,有疑慮可以查詢該怎麼匹配  >筆記: 1.比較新的ubuntu22.04要比較新的cuda版本才有支援,這邊使用[toolkit 11.7]( https://developer.nvidia.com/cuda-11-7-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=22.04) 2.下載 <font color='red'>runfile</font>類型的檔案安裝 3.安裝會進入類似圖形介面的畫面,先選擇`continue`,選擇安裝時記得<font color='red'>取消安裝driver</font>的選項 ``` 依網站指令下載需要的版本 wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.run 安裝,加上override跳過gcc版本檢查 sudo sh cuda_11.7.0_515.43.04_linux.run --override ``` 安裝會進入類似圖形介面的畫面,請選擇`continue`,接下來輸入`accpet`選擇安裝時記得<font color='red'>取消安裝driver</font>的選項 修改.bashrc檔案,讓系統可以順利讀取路徑 >可以透過bash指令加入,也可以直接編輯。注意cuda資料夾的路應自己對應的版本 ``` echo '# CUDA Soft Link' >> ~/.bashrc echo 'export PATH=/usr/local/cuda-11.7/bin${PATH:+:${PATH}}' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc source ~/.bashrc ``` 確認 ``` nvcc -V ```  成功 ## 4. CuDNN 功能: 針對深度學習CUDA的加速套件 >筆記: 下載前要先登入網站,不要下載deb檔案來安裝,安裝難度大 請到官網下載對應相容版本的CuDNN,選擇這個linux64的tar  ``` 下載過程涉及登入,可以用windows系統下載後上傳至server --- 若需要解壓縮檔案請自行查詢解壓縮指令 移動解壓縮的東西到函式路徑中 sudo cp cuda/include/cudnn*.h /usr/local/cuda-11.7/include sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda-11.7/lib64 sudo chmod a+r /usr/local/cuda-11.7/include/cudnn*.h /usr/local/cuda/lib64/libcudnn* ``` 檢查是否安裝成功,下面提供兩個版本的檢查方式 ``` # CuDNN 8.x cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR # CuDNN 7.x cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR ``` 安裝成功的8.x版本會出現下列訊息 ``` #define CUDNN_MAJOR 8 #define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL) ``` 在pytorch中一樣可以測試CuDNN ``` import torch print(torch.backends.cudnn.enabled) # 應該返回 True print(torch.backends.cudnn.version()) # 打印 cuDNN 版本號 ``` <!--  --> ## 5. Anaconda 安裝需要的版本 ``` 下載 curl -O https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh 執行安裝 bash Anaconda3-2024.02-1-Linux-x86_64.sh ``` <font color='red'>!!!重開機!!!</font> 創建環境 ``` conda create --name pytorch conda activate pytorch conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.7 -c pytorch -c nvidia ``` ## 6. Pytorch 在anaconda 環境之下安裝pytorch版本 --- 本文結束 --- ## Reference - [深度學習三套件](https://cyfeng.science/2020/05/02/ubuntu-install-nvidia-driver-cuda-cudnn-suits/) - [Ubuntu 安裝 CUDA + CuDNN 最簡單、穩定的方式](https://medium.com/chiachun0818/ubuntu-%E5%AE%89%E8%A3%9D-cuda-cudnn-%E6%9C%80%E7%B0%A1%E5%96%AE-%E7%A9%A9%E5%AE%9A%E7%9A%84%E6%96%B9%E5%BC%8F-91be6588568f) ## Log訊息 Toolkits安裝完成的訊息 ``` =========== = Summary = =========== Driver: Not Selected Toolkit: Installed in /usr/local/cuda-11.7/ Please make sure that - PATH includes /usr/local/cuda-11.7/bin - LD_LIBRARY_PATH includes /usr/local/cuda-11.7/lib64, or, add /usr/local/cud To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-11.7/bin ***WARNING: Incomplete installation! This installation did not install the CUDA To install the driver using this installer, run the following command, replacing sudo <CudaInstaller>.run --silent --driver Logfile is /var/log/cuda-installer.log ``` nvcc -V的結果 ``` nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2022 NVIDIA Corporation Built on Tue_May__3_18:49:52_PDT_2022 Cuda compilation tools, release 11.7, V11.7.64 Build cuda_11.7.r11.7/compiler.31294372_0 ``` ### 成功安裝版本紀錄 - 作業系統: Ubuntu 22.04 - 的顯卡驅動: 自動安裝 autoinstall - CUDA Toolkit: 11.7 - CuDNN: 11.7,對應Toolkits版本 - Anaconda: 2024版
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up